Ничего особенного. Попробуйте создать новую библиотеку классов с именем "Animal"
и добавьте следующий код:
namespace Animal
{
public class Dog
{
public string Bark()
{
return "Woof!";
}
}
}
Постройте проект (для создания .dll). Вы можете найти .dll в
.
Теперь откройте PowerShell и введите этот код:
Add-Type -Path "C:\...\Projects\Animal\Animal\bin\Debug\Animal.dll"
$dog = [Animal.Dog]::new()
$dog.Bark()
Выход
Если вы хотите сделать это полностью на стороне клиента, Я думаю, ваш единственный вариант - это какая-то таблица поиска. Вот отправная точка, написанная парнем по имени Олави Иваск в его блоге ...
function replaceDiacritics(s)
{
var s;
var diacritics =[
/[\300-\306]/g, /[\340-\346]/g, // A, a
/[\310-\313]/g, /[\350-\353]/g, // E, e
/[\314-\317]/g, /[\354-\357]/g, // I, i
/[\322-\330]/g, /[\362-\370]/g, // O, o
/[\331-\334]/g, /[\371-\374]/g, // U, u
/[\321]/g, /[\361]/g, // N, n
/[\307]/g, /[\347]/g, // C, c
];
var chars = ['A','a','E','e','I','i','O','o','U','u','N','n','C','c'];
for (var i = 0; i < diacritics.length; i++)
{
s = s.replace(diacritics[i],chars[i]);
}
document.write(s);
}
Вы можете видеть, что это просто массив регулярных выражений для известных диакритических символов, отображающий их обратно на «простой» характер.
Вам понадобится карта преобразования, примерно такая:
function removeAccents(str) {
var convMap = {
"ă" : "a",
"ş" : "s",
"ţ" : "t"
}
for (var i in convMap) {
str = str.replace(new RegExp(i, "g"), convMap[i]);
}
return str;
}
Или, если у вас есть доступ к iconv
на вашем компьютере, вы могли бы использовать некоторые вызовы ajax для удаления акцентов с помощью // TRANSLIT для iconv параметр.
Простая модификация сценария Пола. Расширьте объект String
String.prototype.removeDiacritics = function() {
var diacritics = [
[/[\300-\306]/g, 'A'],
[/[\340-\346]/g, 'a'],
[/[\310-\313]/g, 'E'],
[/[\350-\353]/g, 'e'],
[/[\314-\317]/g, 'I'],
[/[\354-\357]/g, 'i'],
[/[\322-\330]/g, 'O'],
[/[\362-\370]/g, 'o'],
[/[\331-\334]/g, 'U'],
[/[\371-\374]/g, 'u'],
[/[\321]/g, 'N'],
[/[\361]/g, 'n'],
[/[\307]/g, 'C'],
[/[\347]/g, 'c'],
];
var s = this;
for (var i = 0; i < diacritics.length; i++) {
s = s.replace(diacritics[i][0], diacritics[i][1]);
}
return s;
}
. Теперь вы можете:
var wrongString = "hëllô";
alert(wrongString.removeDiacritics()); // alerts "hello"