Заменить полученный регулярными выражениями текст из одного файла на текст из другого - C#

Узнай цену своей работы

Формулировка задачи:

Добрый вечер. Есть два текстовый файла, первый просто сплошная стена текста, второй строки. Нужно заменить найденные регулярным выражением куски текста из первого файла на строки со второго, причем с однозначным соответствием - то есть первое срабатывание регулярки надо заменить на первую строку из второго файла, второе соответствие на вторую строку и так далее. Строки повторяются, результаты регулярки тоже. С регулярками разобрался, на руках есть коллекция match с текстом который нужно заменить и я не представляю что с этим делать. Насколько я понял Regex.Replace меняет все соответствия на одну заданную строку, что не подходит. Простой пример того что должно получиться. Первый файл: йцу

1abc

йцуsdf фывsd df

2abc

sdфы вфыв фывф ыв

3abc

фы вфыв ячсячс

4abc

фвфыв Второй файл: 4xyz 3xyz 2xyz 1xyz Результат йцу

4xyz

йцуsdf фывsd df

3xyz

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;
            });

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5
Похожие ответы