2014-04-11 223 views
2

我在删除动态填充字符串的最后一个字符时遇到问题。最后一个字符是',',我可以删除它,但问题是,当我打印出列表时,逗号仍然存在。为了创建字符串,我从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中删除最后一个字符?

回答

4

只需-join数组:

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

我不熟悉-join,我就可以使用它错了,但是当我跑这条线后立即写主机$ longString的逗号仍然在结束。 –

+1

@aDroidman如果你用你的回答代替了你的循环,那显然是不可能的。请提供证据。 –

+0

Aaaa我现在看到。对不起,它确实有效。问题出在我执行上述代码的那一天。 –

0

由于@Ansgar Wiechers提到,使用-join你的情况比较好。对于其他字符串/情况下,这会工作:

$longString = $longString.Substring(0,$longString.Length -1); 
相关问题