正则表达式用于删除一个空格

Vic*_*axy 3 c# regex

删除一个空格的正则表达式是什么?例如:

H e l l o  W o r l d  ---->  Hello World
Run Code Online (Sandbox Code Playgroud)

(请注意,Hello World之间还有一个空格.它之间有两个空格开头)

仅供参考,我正在使用C#正则表达式:之前我做过类似的事情,但在上述情况下它无法正常工作:

Regex pattern = new Regex(@"[ ]{2,}");
pattern.Replace(content, @" ")
Run Code Online (Sandbox Code Playgroud)

Cha*_*les 5

要从一个或多个空格的所有组中删除一个空格,请使用

pattern = Regex.Replace(content, " ( *)", "$1");
Run Code Online (Sandbox Code Playgroud)

要将n个空格更改为floor(n/2)个空格,请使用

pattern = Regex.Replace(content, " ( ?)", "$1");
Run Code Online (Sandbox Code Playgroud)

我尝试添加示例,但stackoverflow甚至在内联代码跨度中整合了空白.


解释,按要求:第一个找到一个后跟零个或多个空格的空格,并用零个或多个空格替换它,将长度减少1.第二个找到每个一个或两个空格的组并用零或一个空格替换它,在一次更换中将1更改为0,在一次更换中更改为2到1,在两次更换中更改为3到2,等等.

  • @Victor我试过很多次了解正则表达式并且失败了.我的结论是它的某种形式的巫术...... (2认同)