string - C# Replace Cyrillic chars failed -


i need replace cyrillic chars transliterated latin chars. unfortunately solution return -1 when search char position.
what's wrong that?

            stringbuilder sb = new stringbuilder();             var domain = configurationmanager.appsettings["domain"];             catname = catname.tolower();             var englishchars = new string[] { "a", "b", "v", "g", "d", "e", "yo", "zh", "z", "i", "y", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "c", "ch", "sh", "shch", "i", "e", "yu", "ya", "_" };             var slavicchars = new string[] { "a", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "э", "ю", "я", " " };             foreach (char x in catname)             {                 var position_s = array.indexof(slavicchars, x);                 var char_e = array.indexof(englishchars, position_s);                sb.append(englishchars[char_e]);             }             return string.format("{0}/katalog/kategorii/{1}", domain, sb.tostring()); 

please try following code:

stringbuilder sb = new stringbuilder(); var domain = configurationmanager.appsettings["domain"]; catname = catname.tolower(); var englishchars = new[] { "a", "b", "v", "g", "d", "e", "yo", "zh", "z", "i", "y", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "c", "ch", "sh", "shch", "i", "e", "yu", "ya", "_" }; var slavicchars = new[] { 'а', 'б', 'в', 'г', 'д', 'е', 'ё', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'х', 'ц', 'ч', 'ш', 'щ', 'э', 'ю', 'я', ' ' }; foreach (char x in catname) {     var position_s = array.indexof(slavicchars, x);     if (position_s == -1)         sb.append(x);     else         sb.append(englishchars[position_s]); } return string.format("{0}/katalog/kategorii/{1}", domain, sb.tostring()); 

i've found following problems code:

  • in slavicchars first char 'a' latin one.
  • in code slavicchars array array of strings not chars, array.indexof(slavicchars, x) returns -1.

Comments

Popular posts from this blog

powershell Start-Process exit code -1073741502 when used with Credential from a windows service environment -

twig - Using Twigbridge in a Laravel 5.1 Package -

c# - LINQ join Entities from HashSet's, Join vs Dictionary vs HashSet performance -