我需要替换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>
。但我的代码不起作用。
答案 0 :(得分:0)
模式:@"<span([^>]*)class=\""(\w+)\""([^>]*)>(.*)<\/span>"
Regex regex = new Regex(pattern, RegexOptions.Multiline);
regex.Replace (inputData, "<span${1}class=\"${2}\"${3}>Replacement</span>")
第一组在 class
属性之前捕获内容。第二组捕获类名。第三组在类之后捕获属性。第四组是实际的span节点元素内容。这会被取代。