删除powershell中的额外空格

时间:2014-10-17 13:42:13

标签: powershell scripting

我想使用powershell删除多余的空格并用条目之间的单个逗号替换它们,这样我就可以将结果转换为工作的csv以供进一步分析。

这是我的代码;

Get-Content –path C:\Users\USERNAME\Desktop\results.txt| ForEach-Object {$_ -replace "\s+"  " " } |  Out-File -filepath C:\Users\USERNAME\Desktop\results.csv

在文本文件中,初始结果是这样的

 entry     entry     entry    (all separated with 5 spaces)

我想看的是这个

条目,条目,条目

所以excel会将它们放在不同的单元格中

感谢您的时间

2 个答案:

答案 0 :(得分:2)

你很接近,但你需要用","代替" "替换。让我们假设您的文本文件行如下所示。我不知道你是否意味着领先/尾随空间在那里,但没关系。

" entry entry entry "

Get-Content –path C:\Users\USERNAME\Desktop\results.txt| ForEach-Object {$_.Trim() -replace "\s+"  "," } |  Out-File -filepath C:\Users\USERNAME\Desktop\results.csv -Encoding ascii

$_.Trim() -replace "\s+" ","使用trim删除外部空格以防止CSV中的额外值以防万一。

如果我误解了你的问题,请告诉我。

答案 1 :(得分:0)

您可以使用trim使用从字符串的开头或结尾删除字符(默认情况下为空格)。看看here

这可以通过其他方式完成,如果你想用regex替换字符。看看here