2014-04-11 225 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); 
相關問題