Устранение латинских букв из текста на кириллице

fridayman

Client
Регистрация
25.03.2018
Сообщения
167
Благодарностей
259
Баллы
63
Есть текст, написанный на кириллице, в котором встречаются, аналогичные русским, латинские буквы. Есть ли метод, без нагромождения структуры парсера, найти их и заменить на кириллические?
 

orka13

Client
Регистрация
07.05.2015
Сообщения
2 165
Благодарностей
2 167
Баллы
113
Если просто удалить:
удалить латиницу site:zennolab.com
Кубик обработки текста, и там искать "замену" с использованием регулярки (Regex):
Код:
[A-Za-z]
Если заменить, то надо по такому же принципу делать замену по правилам для каждой буквы. Визуально легче на C#, через пару минут напишу.

Пробуйте сами по методу как в этой теме, если не получится, тогда напишу.
http://zennolab.com/discussion/threads/mnozhestvennaja-zamena.27001/
 
Последнее редактирование:
  • Спасибо
Реакции: fridayman

redman

Client
Регистрация
11.03.2016
Сообщения
554
Благодарностей
178
Баллы
43
Код:
string str = project.Variables["text"].Value;
str = str.Replace("A", "А")
        .Replace("B", "В")
        .Replace("C", "С")
        .Replace("E", "Е")
        .Replace("H", "Н")
        .Replace("K", "К")
        .Replace("M", "М")
        .Replace("O", "О")
        .Replace("P", "Р")
        .Replace("T", "Т")
        .Replace("X", "Х")
        .Replace("a", "а")
        .Replace("c", "с")
        .Replace("e", "е")
        .Replace("o", "о")
        .Replace("p", "р")
        .Replace("x", "х");
return str;
 

snipero4ek

Client
Регистрация
30.11.2019
Сообщения
87
Благодарностей
11
Баллы
8
Код:
string str = project.Variables["text"].Value;
str = str.Replace("A", "А")
        .Replace("B", "В")
        .Replace("C", "С")
        .Replace("E", "Е")
        .Replace("H", "Н")
        .Replace("K", "К")
        .Replace("M", "М")
        .Replace("O", "О")
        .Replace("P", "Р")
        .Replace("T", "Т")
        .Replace("X", "Х")
        .Replace("a", "а")
        .Replace("c", "с")
        .Replace("e", "е")
        .Replace("o", "о")
        .Replace("p", "р")
        .Replace("x", "х");
return str;
Куда тут вставить текст для переделки?
 

viol2021

Client
Регистрация
12.01.2021
Сообщения
481
Благодарностей
179
Баллы
43
Есть текст, написанный на кириллице, в котором встречаются, аналогичные русским, латинские буквы. Есть ли метод, без нагромождения структуры парсера, найти их и заменить на кириллические?
C#:
Dictionary<char, string> EnRus = new Dictionary<char, string>
{
{'A', "А"},
{'B', "В"},
{'C', "С"},
{'E', "Е"},
{'H', "Н"},
{'K', "К"},
{'M', "М"},
{'O', "О"},
{'P', "Р"},
{'T', "Т"},
{'X', "Х"},
{'a', "а"},
{'c', "с"},
{'e', "е"},
{'o', "о"},
{'p', "р"},
{'x', "х"},
};


string text = "AАBВ";

foreach(char t in text)
{
    if(EnRus.ContainsKey(t))
        text = text.Replace(t.ToString(), EnRus[t]);
      
}

return text;
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)