如何编写一个c#正则表达式来替换&符号(&),同时考虑到&符号的出现可能在& > ©或AT& T
例如...... Regex.Replace(“(\ S)&(\ S![^;])”,“$ 1& $ 2”);
答案 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()