Мне нужно заменить текст между тегами <span>
из HTML-документа. У меня есть следующий код:Заменить текст между тегами span в html с помощью C#
string pattern = "<span class=\"nameLastname\">(.*)</span>";
string nameLastnamePattern = "<span class=\"nameLastname\">"+name+ lastname+"</span>";
System.IO.StreamReader objReader;
objReader = new StreamReader(System.IO.Directory.GetCurrentDirectory() + "\\intel\\main.html");
string content = objReader.ReadToEnd();
objReader.Close();
content = Regex.Replace(content,pattern, nameLastnamePattern);
StreamWriter writer = new StreamWriter(System.IO.Directory.GetCurrentDirectory() + "\\intel\\main.html");
writer.Write(content);
writer.Close();
Например, я хочу, чтобы заменить <span class="nameLastname">George</span>
что-то вроде <span class="nameLastname">Dave</span>
. Но мой код не работает.
Regex и Html не играют хорошо вместе. Html Agility Pack - ваш друг, https://htmlagilitypack.codeplex.com/ – dbugger
Я думаю, что ваш шаблон содержит больше специфических символов Regex, кроме ". Я всегда использую функцию поиска/замены Notepad ++ для быстрой проверки шаблонов регулярных выражений. Попробуйте" ([A-Za-z] *) " – shmow
Вы также можете использовать онлайн-тестер. http://regexstorm.net/tester или http://regexhero.net/tester –