Заменить полученный регулярными выражениями текст из одного файла на текст из другого - 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;
- });
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д