2017-01-01 118 views
2

我有一個數組,並且當我嘗試向其追加一個字符串時,該數組將轉換爲單個字符串。將字符串附加到數組中的每個項目

我有一個數組以下數據:

$Str 
451 CAR,-3 ,7 ,10 ,0 ,3 , 20 ,Over: 41 
452 DEN «,40.5,0,7,0,14, 21 ,  Cover: 4 

而且我想比賽的星期追加在這種情況下是這樣的:

$Str = "Week"+$Week+$Str 

我得到一個字符串:

Week16101,NYG,42.5 ,3 ,10 ,3 ,3 , 19 ,Over 43 102,PHI,- 1,14,7,0,3, 24 ,  Cover 4 103, 

當然,我想追加發生在每一行。

+0

爲了讓觀察者更清楚,我建議重新選擇命名你的變量,因爲名字「str」可能會讓人們認爲你應該有一個單一的標量字符串變量......只是一個念頭! –

回答

2

像這樣的東西可以用於預先考慮/附加文本到數組中的每一行。

SET數組$ STR:

$str = "apple","lemon","toast" 

$str 
apple 
lemon 
toast 

現在添加文字:

for ($i=0; $i -lt $Str.Count; $i++) { 
    $str[$i] = "yogurt" + $str[$i] 
} 

$str 
yogurtapple 
yogurtlemon 
yogurttoast 

這適用於預謀/追加靜態文本每行。如果你需要插入一個變化的變量,這可能需要一些修改。我需要看到更多的代碼才能推薦一些東西。

2

而不是一個for循環,你也可以使用Foreach-Object小命令(如果你喜歡使用管道):

$str = "apple","lemon","toast" 
$str = $str | ForEach-Object {"Week$_"} 

輸出:

Weekapple 
Weeklemon 
Weektoast 
+0

我的確很喜歡這個答案。閱讀更簡單,更適合一次性場景。然而,對於需要更多控制的更長的腳本,我認爲我的答案更適合。取決於應用程序。 –

0

爲PowerShell的V4的另一個選項+

$str = $str.ForEach({ "Week" + $Week + $_ }) 
相關問題