使用Regex替换独立字符

时间:2010-11-26 08:43:55

标签: c# regex

我只需要&替换&仅在我输入字符串的那些实例中&是独立的,而不是amp;。 例如:

1.如果输入

"123&4567&"

更换后的输出应为:

"123&4567&"

2.如果输入

"123&45&67&"

更换后的输出应为:

"123&45&67&"

如何使用C#/ Regex实现此目的?

感谢。

2 个答案:

答案 0 :(得分:5)

使用否定前瞻。在C#Regex中,如果我没弄错的话,那就是:

&(?!amp;)

这将匹配&没有'amp;'

答案 1 :(得分:0)

最简单的方法是替换& amp;与&然后用& amp;替换所有&从而避免任何奇怪的正则表达式解决方案

澄清一下:我发现他正在要求正则表达式中的示例我只是认为他可以使用更容易理解的str替换函数而不是正则表达式解决方案来完成它。

// in javascript
var str = "Test string & & & & TEST";
str = str.replace(/&/g, '&'); // "Test string & & & & TEST"
str = str.replace(/&/g, '&'); // "Test string & & & & TEST"
console.log(str);

这样做可以让实习生更容易理解你的代码,你所做的一切都有点聪明。

是的,我知道使用正则表达式但只是勉强;)