在powershell中删除多个空格

Sam*_*abu 16 regex powershell powershell-2.0 removing-whitespace

我试图在powershell中找到一种方法来移除多个空白区域.

但我发现如何在PHP中做到这一点." 删除多个白色空间 "

可能会有类似的正则表达式.

如何在powershell中实现同样的目标?

我的字符串是这样的

Xcopy Source  Desination
Run Code Online (Sandbox Code Playgroud)

某些行可能在源和目标之间包含多个空格.

BAC*_*CON 60

如果您要将多个连续的空白字符折叠到一个空格中,那么您可以使用-replace运算符执行此操作:

'[     Hello,     World!     ]' -replace '\s+', ' '
Run Code Online (Sandbox Code Playgroud)

... ...返回

[ Hello, World! ]
Run Code Online (Sandbox Code Playgroud)

第一个参数-replace是要匹配的正则表达式模式,第二个参数是将替换任何匹配的文本. \s将匹配空白字符,并+指示匹配一个或多个匹配项,换句话说,一个或多个相邻的空格字符将替换为单个空格.输入help about_comparison_operators或查看此处以获取更多信息.

  • 首先,我的答案是一个有效的替代解决方案,所以我不明白它为什么值得投票.其次,Trim*()方法专门在字符串的开头和/或结尾处运行,而作者给出了一个字符串的示例,其中要删除的空格位于字符串的中间,Trim*()将忽视. (20认同)
  • @RobertAllanHenniganLeahy使用`Trim()`,`TrimStart()`和/或`TrimEnd()`是一个明确错误的答案,但你是否认为如果不是这样,会有更友好的方式说明这一点? (11认同)