Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > перевод в латницу


Автор: csharpbaby 16.4.2007, 18:50
Господа,

подскажите как заменить все русские символы в строке на латиницу

т.к  - Ж заменить на Zh  и т.д

не делать же Text.Replace для каждого символа(?)


Автор: Red Wind 16.4.2007, 19:28
Ну можешь с RegEx поковыряться, но это ещё больший извратsmile. Имхо, Text.Replace самый простой способ.

Автор: csharpbaby 16.4.2007, 19:47
с регэкс тоже можно, только я их совсем не понял

по идее должна быть возможность сделать что-то вроде

.. Replace(str, Array('Ж','Я','Ю'), Array('Zh', 'Ya', 'U'));

он нигде не начшел то что Replace может принимать массив?

Автор: Red Wind 16.4.2007, 20:47
Нет, с массивом не получиться.

Автор: Exception 16.4.2007, 21:14
Код
Dictionary<char, string> dict = new Dictionary<char, string> ();
dict.Add ('а', "a");
dict.Add('б', "b");
dict.Add('ж', "zh");

// ...

string russtr = "абв";
StringBuilder sb = new StringBuilder ();
foreach (char c in russtr)
    sb.Append (dict[c]);
string engstr = sb.ToString ();

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)