0

我有以下 C# 代码用空格替换.'s 和's:+

string MyString = "this.is.just+an++example--here!are$more characters";
MessageBox.Show(Regex.Replace(MyString, @"[\.\+]", " "));

有时这可能会导致多余的空格(如 in、betweenanexample)。

我怎样才能将以下 RegEx 添加到我现有的 RegEx 中,所以只有一个 RegEx 调用?

Regex.Replace(MyString, @"[ ]{2,}", " ");

这将删除多余的空格。所有其他字符应保持不变。

也欢迎任何替代解决方案!

4

2 回答 2

2

你应该试试这个。.如果它在字符类中,则无需转义

[.\+]+|[ ]{2,}
于 2012-11-27T08:38:40.230 回答
2

也许您应该首先匹配多个字符。将正则表达式更改为"[\.\+]+"以匹配一个或多个.or+符号。例如,"a...++b"会导致"a b"

MessageBox.Show(Regex.Replace(MyString, @"[\.\+]+", " "));
于 2012-11-27T08:24:14.877 回答