C#正则表达式删除&符号

时间:2011-01-02 12:17:35

标签: c# .net regex

我有以下字符串:{}& {}我想删除&符号以获取{} {}。这是我的Regex.Replace调用:

Regex.Replace(@"\{\}&\{\}", @"\}.&\{", "}{")

我不知道为什么它不起作用。

3 个答案:

答案 0 :(得分:4)

为何复杂化?为什么不呢:

myString.Replace("}&{", "}{"); // replaces '}&{' with '}{'

答案 1 :(得分:1)

.在那里做什么?这将与任何角色匹配,并且由于}&之间没有任何内容,因此无法匹配。尝试删除它:

Regex.Replace(@"\{\}&\{\}", @"\}&\{", "}{")

See it on rubular

或者使用?

使字符可选
Regex.Replace(@"\{\}&\{\}", @"\}.?&\{", "}{")

See it on rubular

答案 2 :(得分:1)

如果你不确定&符号和花括号之间有什么东西,但是可以是某种东西,那么在句号之后添加一个星号:

Regex.Replace(@"\{\}&\{\}", @"\}.*&\{", "}{")
/*                              ^^ here  */