C# 使用正则表达式替换独立字符

C# 使用正则表达式替换独立字符,c#,regex,C#,Regex,我需要将和替换为&仅在输入字符串的那些实例中,&是独立的,后面不跟amp。 例如: 1.如果输入为 "123&4567&" "123&45&67&" 更换后的输出应为: "123&4567&" "123&45&67&" 2.如果输入为 "123&4567&" "123&45&67&" 更换

我需要将
替换为
&
仅在输入字符串的那些实例中,
&
是独立的,后面不跟
amp。
例如:

1.如果输入为

"123&4567&"
"123&45&67&"
更换后的输出应为:

"123&4567&"
"123&45&67&"
2.如果输入为

"123&4567&"
"123&45&67&"
更换后的输出应为:

"123&4567&"
"123&45&67&"
如何使用C#/Regex实现这一点


谢谢。

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

澄清一下:我知道他是在问regex的例子,我只是觉得他可以用一个更容易理解的str replace函数而不是regex解决方案来完成

// in javascript
var str = "Test string & & & & TEST";
str = str.replace(/&/g, '&'); // "Test string & & & & TEST"
str = str.replace(/&/g, '&'); // "Test string & & & & TEST"
console.log(str);
这样做可以让实习生更容易理解你的代码,而你所牺牲的只是聪明一点


是的,我知道它使用正则表达式,但几乎没有;)

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

澄清一下:我知道他是在问regex的例子,我只是觉得他可以用一个更容易理解的str replace函数而不是regex解决方案来完成

// in javascript
var str = "Test string & & & & TEST";
str = str.replace(/&/g, '&'); // "Test string & & & & TEST"
str = str.replace(/&/g, '&'); // "Test string & & & & TEST"
console.log(str);
这样做可以让实习生更容易理解你的代码,而你所牺牲的只是聪明一点


是的,我知道它使用正则表达式,但几乎没有;)

使用负面前瞻。在C#Regex中,如果我没有弄错的话,应该是:

&(?!amp;)

这将匹配一个&后面不跟“amp;”

使用负面前瞻。在C#Regex中,如果我没有弄错的话,应该是:

&(?!amp;)
这将匹配一个&后面不跟“amp;”

将“&”替换为“&”?我猜有些事情是你不想做的。把这些东西放到一个代码标签中:Dreplace“&”by“&”?我猜有些事情是你不想做的。把这些东西放到代码标签中:D