Предположим, у меня есть список строк {"boy", "car", "ball"} и текст "мальчик продал свою машину, чтобы купить мяч".
Учитывая другой список строк {"dog "," bar "," bone "}, моя цель - найти все вхождения первого списка в тексте и заменить их на строки второго списка:
BEFORE: the [boy] sold his [car] to buy a [ball]
AFTER: the [dog] sold his [bar] to buy a [bone]
Моя первая мысль былаиспользовать Regex, но я не знаю, как связать список строк в регулярное выражение, и я не хочу писать Aho-Corasick.
Какой правильный путь для этого?
Другой пример:
Text: aaa bbb abab aabb bbaa ubab
replacing {aa, bb, ab, ub} for {11, 22, 35, &x}
BEFORE: [aa]a [bb]b [ab][ab] [aa][bb] [bb][aa] [ub][ab]
AFTER: [11]a [22]b [35][35] [11][22] [22][11] [&x][35]