用C#中的Regex替换两个或多个空格

Che*_*hev 2 html c# regex asp.net

我对Regex的东西太可怕了.我想在C#中使用正则表达式将任意两个或更多空格转换为不间断空格.我想单独留下单个空格.

Sample     Sample
Run Code Online (Sandbox Code Playgroud)

会生产

Sample     Sample
Run Code Online (Sandbox Code Playgroud)

Sample Sample
Run Code Online (Sandbox Code Playgroud)

不会受到影响.

有任何想法吗?

提前致谢.

Mar*_*ers 7

您可以使用a MatchEvaluator作为替换参数.在C#3.0或更新版本中,您可以使用lambda函数:

s = Regex.Replace(s, " {2,}", x => x.Value.Replace(" ", " "));
Run Code Online (Sandbox Code Playgroud)