У меня есть диалоговое окно с открытым файлом, в котором открывается файл XML. Выражение регулярного выражения находит каждую строку между >
и <
и записывает каждую строку в новой строке в текстовое поле rich.Заменить найденные строки новыми строками?
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
StreamReader sr = new StreamReader(openFileDialog1.FileName);
string s = sr.ReadToEnd();
richTextBox1.Text = s;
}
string txt = richTextBox1.Text;
var foundWords = Regex.Matches(txt, @"(?<=>)([\w ]+?)(?=<)");
richTextBox1.Text = string.Join("\n", foundWords.Cast<Match>().Select(x => x.Value).ToArray());
}
Тогда я могу изменить эти строки. Но как я могу импортировать те измененные строки обратно в исходный XML-файл на том же месте?
Но как я могу переписать весь файл с новыми строками? – orglce
@orglce Я предлагаю вам изменить строку в памяти, а затем снова записать весь файл. Как только пользователь изменяет эти строки, хотя нет возможности автоматически поместить измененные версии обратно, так что вам нужно как-то вспомнить, какая строка была там. –
Хорошо! Благодаря! Я постараюсь это сделать! – orglce