String 删除动态字符串中的最后一个字符

String 删除动态字符串中的最后一个字符,string,powershell,String,Powershell,我在删除动态填充字符串的最后一个字符时遇到问题。最后一个字符是“”,“,我可以删除它,但问题是当我打印列表时,逗号仍然存在。要创建字符串,我将CSV中的信息读取到数组中。然后我获取数组中的所有内容并将其转换为最终格式 for ($i = 0; $i -lt $CSVArray.Length; $i++) { $longString = $longString + "'" + $CSVArray[$i] + "'," } 然后我找到绳子的长度 $length = $longString.Le

我在删除动态填充字符串的最后一个字符时遇到问题。最后一个字符是“
”,“
,我可以删除它,但问题是当我打印列表时,逗号仍然存在。要创建字符串,我将CSV中的信息读取到数组中。然后我获取数组中的所有内容并将其转换为最终格式

for ($i = 0; $i -lt $CSVArray.Length; $i++) {
  $longString = $longString + "'" + $CSVArray[$i] + "',"
}
然后我找到绳子的长度

$length = $longString.Length
最后我删除了最后一个字符

$longString = $longString.Substring($length - 1).Replace(",", "")
当我输出
$longString.Substring($length-1)
时,我只得到逗号,但当我在执行替换后输出$longString时,它的末尾仍然有逗号


如何从longString中删除最后一个字符?

简单地
-加入数组:

$longString = "'" + ($CSVArray -join "','") + "'"

正如@Ansgar Wiechers提到的,在您的案例中使用
-join
更好。对于其他字符串/情况,这将起作用:

$longString = $longString.Substring(0,$longString.Length -1);

删除最后一个字符:

$LongString = $LongString ".$"
删除最后两个字符:

$LongString = $LongString "..$"

诸如此类

我不熟悉-join,所以我可能用错了,但当我在运行这一行之后立即编写$longString的主机时,逗号仍然在末尾。@aDroidman如果您用我的答案中的行替换您的循环,这显然是不可能的。请提供证据。Aaaa我现在明白了。对不起,它确实有用。问题出在我实现上述代码的那天。