如果长度等于x,则从字符串中删除最后一个字符

时间:2015-04-26 20:07:45

标签: string powershell

我有这个项目清单:

MADE2530
CYLR8719
CLMX0020E
CLMX9257E
CLMR9133
CYLX6441E
CYLX8474E
MADX3684

我需要的输出应该如下所示:

MADE2530
CYLR8719
CLMX0020
CLMX9257
CLMR9133
CYLX6441
CYLX8474
MADX3684

到目前为止我所拥有的是这个脚本,如果长度等于9,它应该删除最后一个字符:

(Get-Content list.txt) | ForEach-Object { 
if ($_.length -eq 9) { $_ -replace ".$" } 
} | Set-Content list.txt

但输出如下:

CLMX0020
CLMX9257
CYLX6441
CYLX8474

删除8个字符的字符串。任何想法都表示赞赏。

1 个答案:

答案 0 :(得分:1)

在其中投掷else以涵盖其他项目:

(Get-Content list.txt) | ForEach-Object { 
if ($_.length -eq 9) { $_ -replace ".$" } 
else {$_}
} | Set-Content list.txt