删除数组的最后一个字符

时间:2019-06-18 06:18:12

标签: powershell scripting

我正在尝试删除数组的最后一个字符。

我有一个数组:

name1;

name2;

现在我要删除最后一个“;”。

我虽然喜欢:

$array = $array | Select -last 1 | foreach{$_.replace(";", "")}

但这只是一个想法。同样不起作用,因为它将仅保留最后一个条目。

2 个答案:

答案 0 :(得分:3)

要仅更改最后一个对象,请处理数组中的每个对象,然后检查它是否最后一个。 replace仅在最后一个:

$array = $array | ForEach-Object { 
    if( $array.IndexOf($_) -eq ($array.count -1) ){
        $_.replace(";","")
    }else{$_}  
}

答案 1 :(得分:0)

尝试此操作以删除/替换最后一个分号';'来自每个元素。

$array | foreach{ $_ -replace ';$', '' }

,如果您想从any where in the string中删除它们,只需删除$