2017-01-01 116 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 + $_ }) 
相关问题