Замена русских символов на английские - C#
Формулировка задачи:
Как сделать так чтобы при записи в файл русские символы заменяются на английские и наоборот?
Решение задачи: «Замена русских символов на английские»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- namespace Task_cyberforum_6
- {
- class Program
- {
- static void Main(string[] args)
- {
- Translit translit = new Translit();
- // входная строка
- string testIn = "вот_такой_чудной_объект.jpg";
- // строка на выходе после транслитерации
- string testOut = translit.TranslitFileName(testIn);
- Console.WriteLine("Исходная строка \'{0}\'",testIn);
- Console.WriteLine("Cтрока после транслитерации \'{0}\'", testOut);
- Console.ReadLine();
- }
- public class Translit
- {
- // объявляем и заполняем словарь с заменами
- // при желании можно исправить словать или дополнить
- Dictionary<string, string> dictionaryChar = new Dictionary<string, string>()
- {
- {"а","a"},
- {"б","b"},
- {"в","v"},
- {"г","g"},
- {"д","d"},
- {"е","e"},
- {"ё","yo"},
- {"ж","zh"},
- {"з","z"},
- {"и","i"},
- {"й","y"},
- {"к","k"},
- {"л","l"},
- {"м","m"},
- {"н","n"},
- {"о","o"},
- {"п","p"},
- {"р","r"},
- {"с","s"},
- {"т","t"},
- {"у","u"},
- {"ф","f"},
- {"х","h"},
- {"ц","ts"},
- {"ч","ch"},
- {"ш","sh"},
- {"щ","sch"},
- {"ъ","'"},
- {"ы","yi"},
- {"ь",""},
- {"э","e"},
- {"ю","yu"},
- {"я","ya"}
- };
- /// <summary>
- /// метод делает транслит на латиницу
- /// </summary>
- /// <param name="source"> это входная строка для транслитерации </param>
- /// <returns>получаем строку после транслитерации</returns>
- public string TranslitFileName(string source)
- {
- var result = "";
- // проход по строке для поиска символов подлежащих замене которые находятся в словаре dictionaryChar
- foreach (var ch in source)
- {
- var ss = "";
- // берём каждый символ строки и проверяем его на нахождение его в словаре для замены,
- // если в словаре есть ключ с таким значением то получаем true
- // и добавляем значение из словаря соответствующее ключу
- if (dictionaryChar.TryGetValue(ch.ToString(), out ss))
- {
- result += ss;
- }
- // иначе добавляем тот же символ
- else result += ch;
- }
- return result;
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д