如何用c#中的某些特殊字符替换字符串中的空格以外的空格

Avi*_*ore 5 c# replace

如何用c#中的某些特殊字符替换字符串中的空格以外的空格?

我有一个字符串

Hi I  am new  here. Would   you    please help    me?
Run Code Online (Sandbox Code Playgroud)

我希望输出为

Hi I$am new$here. Would$you$please help$me?
Run Code Online (Sandbox Code Playgroud)

我试过了

string line=@"Hi I  am new  here. Would   you    please help    me?";
string line1 = Regex.Replace(line,@"[\s\s]+","$");
Console.WriteLine(line1);
Run Code Online (Sandbox Code Playgroud)

但我得到了输出

Hi$I$am$new$here.$Would$you$please$help$me?
Run Code Online (Sandbox Code Playgroud)

你能告诉我我哪里错了吗?

Kon*_*osa 6

你应该指定比你想要的两个以上({2,})空白字符(\s):

string line1 = Regex.Replace(line,@"\s{2,}","$");
Run Code Online (Sandbox Code Playgroud)

或者只有两个以上的空格([ ]):

string line1 = Regex.Replace(line,@"[ ]{2,}","$");
Run Code Online (Sandbox Code Playgroud)

注意:[\s\s]+表示:一个或多个指定的字符组[],因此\s加倍,它只是表示:一个或多个空格字符.