Я создал небольшой код, который ищет строку Regex и заменяет ее чем-то другим, затем создает новый выходной файл с внесенными изменениями. Код, похоже, хорошо работает с меньшими файлами, но для файлов размером более 100 МБ я выдаю ошибку System.OutOfMemoryException.
Здесь мой код:
string foldername = Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.Desktop),
String.Format("FIXED_{0}.tmx",
Path.GetFileNameWithoutExtension(textBox1.Text)));
string text = File.ReadAllText(textBox1.Text);
text = Regex.Replace(text, @"<seg\b[^>]*>", "<seg>", RegexOptions.Multiline);
text = Regex.Replace(text, @"<seg>
</tuv>", "<seg></seg></tuv>", RegexOptions.Multiline);
File.WriteAllText(foldername, text);
Visual studio выделяет раздел string text = File.ReadAllText(textBox1.Text);
.
Я думал, что, возможно, использование File.ReadAllLines будет работать лучше, но я не смог заставить его работать с регулярным выражением.
Может ли кто-нибудь помочь мне в этом? Я новичок на С# и, вероятно, мой код не самый лучший.