Последовательная замена слов

igoreff

Client
Регистрация
24.02.2011
Сообщения
190
Благодарностей
24
Баллы
18
Не могу додуматься, как сделать замену слов. Есть простой текст, надо взять первое слово заменить на другое, затем следующее слово также заменить итд. Как сделать, что именно следующее после замены, слово бралось?
 

evgen2208

Client
Регистрация
12.10.2016
Сообщения
130
Благодарностей
162
Баллы
43
В статье в подписи есть пример реализации подобного алгоритма.
Создаете Словарь "искомое слово"-"слово замены". (в статье в роли искомого слова используется рег выражение).
Потом берете свой текст разделяете например по пробелам ( .Split(' ')) и потом пройти по всем словам проверить наличие в словаре, если есть - заменить.
 
  • Спасибо
Реакции: igoreff

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Не могу додуматься, как сделать замену слов. Есть простой текст, надо взять первое слово заменить на другое, затем следующее слово также заменить итд. Как сделать, что именно следующее после замены, слово бралось?
Разбить текст по словам в список и в цикле брать строку (слово) из списка с удалением и по словарю, как указали уже выше, производить поиск замен в тексте и заменять.
 
  • Спасибо
Реакции: igoreff

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
C#:
var dict = new Dictionary<string, string>()
{
    { "Hello", "Goodbye" }, { "world", "America" }
};

var text = "Hello world";
return dict.Aggregate(text, (s, k) => s.Replace(k.Key, k.Value));
 
  • Спасибо
Реакции: ZSHab

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