从数组中删除最后一个逗号

Remove the last comma from array

提问人:Darren 提问时间:10/27/2022 更新时间:10/27/2022 访问量:134

问:

在下面创建了以下代码,但是,我在要删除的数组中的最后一个字符串上得到了一个逗号。如何更改向数组添加逗号的方式,或者只是从数组中删除最后一个逗号?

clear
$dataOut = ''
$excludeList = 'choco*','kb*','dotnet*','netfx*','*.install*','*.portable*','vcredist*','packages*','lessmsi*'
$appsInstalled = Get-ChildItem -Exclude $excludeList -Recurse -Path "C:\ProgramData\chocolatey\lib\*.nuspec"

Foreach ($app in $appsInstalled) {
[xml]$XmlDocument = Get-Content $app.Fullname
#$appsInstalled = "$($XmlDocument.package.metadata.Title) v$($XmlDocument.package.metadata.Version)" + ", "
$appsInstalled = $XmlDocument.package.metadata.Title + " v" +$XmlDocument.package.metadata.Version + ", "
$dataOut = $dataOut + $appsInstalled
}
$dataOut

数组 PowerShell

评论


答:

0赞 vonPryz 10/27/2022 #1

你所追求的被称为修剪。有三种情况,从左、右和两端修剪。也就是说,从两个方向删除前导多余字符、尾随字符和两个方向。

这不是一个数组,而是一个字符串。可以使用.Net 的 String 类。 Trim() 方法。它将删除前导和尾随字符 像这样,$dataOut

$s = "foo,bar,zof, "
# Print trimmed string, pipes will show that space was removed too
"|{0}|" -f $s.trim(@(',', ' '))
|foo,bar,zof|