Замена слова - 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("Работа выполнена успешно!");
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д