如何用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)
你能告诉我我哪里错了吗?
你应该指定比你想要的两个以上({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加倍,它只是表示:一个或多个空格字符.