Замена русских символов на английские - C#

Узнай цену своей работы

Формулировка задачи:

Как сделать так чтобы при записи в файл русские символы заменяются на английские и наоборот?

Решение задачи: «Замена русских символов на английские»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. namespace Task_cyberforum_6
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             Translit translit = new Translit();
  11.             // входная строка
  12.             string testIn = "вот_такой_чудной_объект.jpg";
  13.             // строка на выходе после транслитерации
  14.             string testOut = translit.TranslitFileName(testIn);
  15.             Console.WriteLine("Исходная строка \'{0}\'",testIn);
  16.             Console.WriteLine("Cтрока после транслитерации \'{0}\'", testOut);
  17.             Console.ReadLine();
  18.         }
  19.  
  20.         public class Translit
  21.         {
  22.             // объявляем и заполняем словарь с заменами
  23.             // при желании можно исправить словать или дополнить
  24.             Dictionary<string, string> dictionaryChar = new Dictionary<string, string>()
  25.             {
  26.                 {"а","a"},
  27.                 {"б","b"},
  28.                 {"в","v"},
  29.                 {"г","g"},
  30.                 {"д","d"},
  31.                 {"е","e"},
  32.                 {"ё","yo"},
  33.                 {"ж","zh"},
  34.                 {"з","z"},
  35.                 {"и","i"},
  36.                 {"й","y"},
  37.                 {"к","k"},
  38.                 {"л","l"},
  39.                 {"м","m"},
  40.                 {"н","n"},
  41.                 {"о","o"},
  42.                 {"п","p"},
  43.                 {"р","r"},
  44.                 {"с","s"},
  45.                 {"т","t"},
  46.                 {"у","u"},
  47.                 {"ф","f"},
  48.                 {"х","h"},
  49.                 {"ц","ts"},
  50.                 {"ч","ch"},
  51.                 {"ш","sh"},
  52.                 {"щ","sch"},
  53.                 {"ъ","'"},
  54.                 {"ы","yi"},
  55.                 {"ь",""},
  56.                 {"э","e"},
  57.                 {"ю","yu"},
  58.                 {"я","ya"}
  59.             };
  60.             /// <summary>
  61.             /// метод делает транслит на латиницу
  62.             /// </summary>
  63.             /// <param name="source"> это входная строка для транслитерации </param>
  64.             /// <returns>получаем строку после транслитерации</returns>
  65.             public string TranslitFileName(string source)
  66.             {
  67.                 var result = "";
  68.                 // проход по строке для поиска символов подлежащих замене которые находятся в словаре dictionaryChar
  69.                 foreach (var ch in source)
  70.                 {
  71.                     var ss = "";
  72.                     // берём каждый символ строки и проверяем его на нахождение его в словаре для замены,
  73.                     // если в словаре есть ключ с таким значением то получаем true
  74.                     // и добавляем значение из словаря соответствующее ключу
  75.                     if (dictionaryChar.TryGetValue(ch.ToString(), out ss))
  76.                     {
  77.                         result += ss;
  78.                     }
  79.                     // иначе добавляем тот же символ
  80.                     else result += ch;
  81.                 }
  82.                 return result;
  83.             }
  84.         }
  85.     }
  86. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.545 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы