Заменить полученный регулярными выражениями текст из одного файла на текст из другого - C#
Формулировка задачи:
Добрый вечер.
Есть два текстовый файла, первый просто сплошная стена текста, второй строки.
Нужно заменить найденные регулярным выражением куски текста из первого файла на строки со второго, причем с однозначным соответствием - то есть первое срабатывание регулярки надо заменить на первую строку из второго файла, второе соответствие на вторую строку и так далее. Строки повторяются, результаты регулярки тоже.
С регулярками разобрался, на руках есть коллекция match с текстом который нужно заменить и я не представляю что с этим делать. Насколько я понял Regex.Replace меняет все соответствия на одну заданную строку, что не подходит.
Простой пример того что должно получиться. Первый файл:
йцу
1abc
йцуsdf фывsd df2abc
sdфы вфыв фывф ыв3abc
фы вфыв ячсячс4abc
фвфыв Второй файл: 4xyz 3xyz 2xyz 1xyz Результат йцу4xyz
йцуsdf фывsd df3xyz
sdфы вфыв фывф ыв2xyz
фы вфыв ячсячс1xyz
фвфыв Регулярка находит: 1abc 2abc 3abc 4abcРешение задачи: «Заменить полученный регулярными выражениями текст из одного файла на текст из другого»
textual
Листинг программы
var regex = GetPattern(); var text = GetText(); string[] strings = GetStrings(); var index = 0; var result = Regex.Replace(text, regex, m => { var replacement = strings[index]; ++index; return replacement; });
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д