用xml等效替换html&符号的正则表达式

时间:2011-08-24 09:11:35

标签: c# regex

如何编写一个c#正则表达式来替换&符号(&),同时考虑到&符号的出现可能在& > ©或AT& T

例如...... Regex.Replace(“(\ S)&(\ S![^;])”,“$ 1& $ 2”);

3 个答案:

答案 0 :(得分:5)

要使用"&"直接替换"&,您不需要正则表达式,只需使用String.Replace(或StringBuilder.Replace)。

但是要替换"&"后面没有"amp;"的地方需要正则表达式和“Zero-width negative lookahead assertion”: 1

var result = Regex.Replace(input, "&(?!amp;)", "&");

1 使用零宽度断言的原因是在字符串末尾处理"&"

答案 1 :(得分:3)

您可以使用正则表达式:"&(?!(amp)|(lt)|(apos)|(gt)|(quot);)

答案 2 :(得分:1)

我建议你只是HtmlEncode

System.Web.HttpUtility.HtmlEncode()