Поиск и замена строк в файле с Regex на C# и WinForms

Здравствуйте. Сегодня мы создадим простое оконное приложение, для замены строк в файле, с помощью C#, WinForms и модуля Regex. Для проекта понадобится Visual Studio, желательно последней версии. Создадим приложение вида WinForms. Добавим на форму по паре элементов TextBox и Button. Итак, первая кнопка будет предназначена для открытия файла через диалоговое окно. Вторая, непосредственно, для проведения операции замены. Двойным нажатием по кнопке, в окне конструктора формы,откроем обработчик события.

using System.Windows.Forms;
using System.Text.RegularExpressions;
using System;

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {

       // пустая строка для хранения пути к файлу
        string path_to_file = "";

        public Form1()
        {
            InitializeComponent();

        }

// обработчик нажатия на кнопку1

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();

            if (open.ShowDialog() == DialogResult.OK)
            {
                MessageBox.Show(open.FileName);
                path_to_file = open.FileName;

            }
        }

// обработчик нажатия на кнопку2, открывает диалоговое окно и позволяет выбрать 
// файл

        private void button2_Click(object sender, EventArgs e)
        {

            string pattern = textBox1.Text.ToString();
            MessageBox.Show(textBox1.Text);

            Regex r = new Regex(pattern);
            string str = string.Empty;
            using (System.IO.StreamReader reader = System.IO.File.OpenText(path_to_file))
            {
                str = reader.ReadToEnd();

            }

            str = r.Replace(str, textBox2.Text.ToString()); 

            using (System.IO.StreamWriter file = new System.IO.StreamWriter(path_to_file))
            {
                file.Write(str);
                MessageBox.Show("Запись произведена успешно");
            }

        }
    }
}

Конечный результат:

Поиск и замена строк в файле с Regex на C# и WinForms

Таким образом, при помощи регулярных выражений из модуля Regex мы можем находить и заменять строки в файлах.

Источник