【发布时间】:2016-03-29 22:44:51
【问题描述】:
我需要替换 HTML 文档中 <span> 标记之间的文本。我有以下代码:
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 是你的朋友,htmlagilitypack.codeplex.com
-
我认为您的模式除了“之外还包含更多正则表达式特定字符。我总是使用 Notepad++ 查找/替换功能来快速验证正则表达式模式。尝试 "([A -Za-z ]*)"
-
您也可以使用在线测试仪。 regexstorm.net/tester 或 regexhero.net/tester