0

.'sと+'をスペースに置き換える次のC#コードがあります。

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

これにより、(との間のように)空白が過剰になる場合がanありexampleます。

次の正規表現を既存の正規表現に追加して、正規表現の呼び出しが1つだけになるようにするにはどうすればよいですか?

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

これにより、余分な空白が削除されます。他のすべての文字はそのままにしておく必要があります。

代替ソリューションも歓迎します!

4

2 に答える 2

2

これを試してみてください。.キャラクタークラス内にある場合はエスケープする必要はありません

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

そもそも複数の文字を一致させる必要があるかもしれません。"[\.\+]+"1つ以上の.または+記号に一致するように正規表現を変更します。たとえば、次のように"a...++b"なります"a b"

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