我有以下C#代码用空格替换.
&{39}和+
'
string MyString = "this.is.just+an++example--here!are$more characters";
MessageBox.Show(Regex.Replace(MyString, @"[\.\+]", " "));
有时这可能会导致空格过多(例如,在an
和example
之间)。
我如何将以下RegEx添加到现有的RegEx中,因此只有一个RegEx呼叫?
Regex.Replace(MyString, @"[ ]{2,}", " ");
这将删除多余的空格。所有其他角色应保持不变。
欢迎任何替代解决方案!
答案 0 :(得分:2)
也许你应该首先匹配多个角色。将正则表达式更改为"[\.\+]+"
以匹配一个或多个.
或+
个符号。例如,"a...++b"
会产生"a b"
MessageBox.Show(Regex.Replace(MyString, @"[\.\+]+", " "));
答案 1 :(得分:2)
你应该试试这个。如果它在字符类
中,则不需要转义.
[.\+]+|[ ]{2,}