所以,我在谷歌或SO上没有看到任何对此有任何帮助的信息。
我有一个字符串数组,我想在数组中的每个字符串上运行
-split
并最终得到一个包含字符串数组的数组。
但是当我这样做时:
$Strings | % { $_ -split ($Sep) }
PS 将结果展平,最终得到一个字符串数组,其中包含每个
-split
的串联结果。
例如为此
$Strings = @("a b c", "d e f")
$Sep = " "
$Strings | % { $_ -split ($Sep) }
我得到
@("a", "b", "c", "d", "e", "f")
,但我想要@( @("a", "b", "c"), @("d", "e", "f") )
。我究竟哪里做得不对?
,
逗号运算符
$Strings = @('a b c', 'd e f')
$Sep = ' '
$result = $Strings | ForEach-Object { , ($_ -split $Sep) }
$result[0]
# a
# b
# c
$result[1]
# d
# e
# f
Write-Output -NoEnumerate
:
$Strings = @('a b c', 'd e f')
$Sep = ' '
$result = $Strings | ForEach-Object { Write-Output ($_ -split $Sep) -NoEnumerate }
$result[0]
# a
# b
# c
$result[1]
# d
# e
# f