Замена слова - C#
Формулировка задачи:
Здравствуйте! Имеется html-файл, в котором нужно заменить слово. Но проблема в следующем: я хочу заменить слово "РЭС" на слово "РТС", но вместе с ним, на "РТС" заменяется и часть слова "АРЭС", что мне не нужно. Как это лучше сделать?
Код:
string str = string.Empty;
Encoding win1251 = Encoding.GetEncoding(1251);
using (var reader = new StreamReader(@"C:\111.html", win1251))
{
str = reader.ReadToEnd();
}
str = str.Replace("РЭС", "РТС");
using (var writer = new StreamWriter(@"C:\111.html", false, win1251))
{
writer.Write(str);
}
MessageBox.Show("Работа выполнена успешно!");Решение задачи: «Замена слова»
textual
Листинг программы
string pathtofolder;
List <string> Poiskdlyazameny=new List<string>() {@"\b(РЭС)\b",@"\b(РПдУ)\b"};
List <string> Nazamenu=new List<string>(){"<span title="Радиоэлектронные системы "> РЭС </span>",
"<span title="Радиопередающее устройство "> РПдУ </span>"};
void Button1Click(object sender, EventArgs e)
{
string str = string.Empty;
Encoding win1251 = Encoding.GetEncoding(1251);
using (var reader = new StreamReader(pathtofolder, win1251))
{
str = reader.ReadToEnd();
}
for(int i=0;i<Nazamenu.Count;i++)
{
// В шаблоне используются 2 группы
string pattern = Poiskdlyazameny[i];
string replacement1 = Nazamenu[i];
// вторая группа удаляется без замены
str = Regex.Replace(str, pattern, replacement1);
}
using (var writer = new StreamWriter(pathtofolder, false, win1251))
{
writer.Write(str);
}
MessageBox.Show("Работа выполнена успешно!");
}