首页 > 解决方案 > 如何替换字符串/文件末尾的字符?

问题描述

使用 PowerShell 格式化时,我试图删除文件末尾的恶意逗号。有问题的文件包含用户的城市、地区和国家/地区。

例子:

美国加利福尼亚州圣地亚哥, 

但我希望它是:

美国加利福尼亚州圣地亚哥

如何在最后使用 ', ' 删除最后一个 ', ' -replace?我的代码在下面不起作用:

(Get-Content file.txt) | ForEach-Object {
    $_ -replace ', ', ''
} | Set-Content file.txt

我只需要一种方法来检测出现在我的文件中的最后一个“,”而不删除文件中存在的每个逗号。

标签: powershell

解决方案


您需要将表达式锚定在字符串的末尾。$在用字符完成的正则表达式中。\s*如果您想忽略最后一个逗号之后的尾随空格,请添加 a :

$_ -replace ',\s*$'

推荐阅读