Поиск и замена строк в файле с 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 мы можем находить и заменять строки в файлах.
-
- Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.