Powershell 中的简单字符串连接更新数组
Simple string concatenation updating array in Powershell
我在 Powershell 中有一个字符串数组。对于每个元素,我想将一个常量字符串与该元素连接起来,并在相应的索引处更新数组。我正在导入的文件是一个由换行符分隔的非空白字符串元素列表。
更新数组元素的串联似乎没有发生。
$Constant = "somestring"
[String[]]$Strings = Get-Content ".\strings.txt"
foreach ($Element in $Strings) {
$Element = "$Element$Constant"
}
$Strings
导致以下输出:
Element
Element
...
根据数组在 Powershell 中不可变的提示,我尝试创建一个包含串联值的新数组。相同的结果。
我在这里想念什么?
您将值连接到局部变量 $Element
但这不会更改变量 $Strings
这是我的方法,将新值保存到 $ConcateStrings
。通过返回连接的字符串而不将其分配给局部变量,变量 $ConcateStrings
将具有所有新值
$Constant = "somestring"
$Strings = Get-Content ".\strings.txt"
$ConcateStrings = foreach ($Element in $Strings) {
"$Element$Constant"
}
$ConcateStrings
只是为了展示迭代数组索引的替代方法
$Constant = "somestring"
$Strings = Get-Content ".\strings.txt"
for($i=0;$i -lt $Strings.count;$i++) {
$Strings[$i] += $Constant
}
$Strings
带有“.\strings.txt”的示例输出包含一、二、三
onesomestring
twosomestring
threesomestring
我在 Powershell 中有一个字符串数组。对于每个元素,我想将一个常量字符串与该元素连接起来,并在相应的索引处更新数组。我正在导入的文件是一个由换行符分隔的非空白字符串元素列表。
更新数组元素的串联似乎没有发生。
$Constant = "somestring"
[String[]]$Strings = Get-Content ".\strings.txt"
foreach ($Element in $Strings) {
$Element = "$Element$Constant"
}
$Strings
导致以下输出:
Element
Element
...
根据数组在 Powershell 中不可变的提示,我尝试创建一个包含串联值的新数组。相同的结果。
我在这里想念什么?
您将值连接到局部变量 $Element
但这不会更改变量 $Strings
这是我的方法,将新值保存到 $ConcateStrings
。通过返回连接的字符串而不将其分配给局部变量,变量 $ConcateStrings
将具有所有新值
$Constant = "somestring"
$Strings = Get-Content ".\strings.txt"
$ConcateStrings = foreach ($Element in $Strings) {
"$Element$Constant"
}
$ConcateStrings
只是为了展示迭代数组索引的替代方法
$Constant = "somestring"
$Strings = Get-Content ".\strings.txt"
for($i=0;$i -lt $Strings.count;$i++) {
$Strings[$i] += $Constant
}
$Strings
带有“.\strings.txt”的示例输出包含一、二、三
onesomestring
twosomestring
threesomestring