【发布时间】:2022-03-28 10:37:36
【问题描述】:
如果有两个以上的项目,以下代码将打印计数。 .Split(',') 被调用了两次。
'a,b,c', 'x,y', '1,2,3' |
Where-Object { $_.Split(',').Count -gt 2 } |
ForEach-Object { $x = $_.Split(','); $x.Count }
以下代码尝试调用一次.Split(',')。它没有任何输出。
'a,b,c', 'x,y', '1,2,3' |
ForEach-Object { @($_.Split(',')) } | # got a single list instead of `list of list of string`
Where-Object { $_.Count -gt 2 } |
ForEach-Object { $_.Count }
但是,ForEach-Object 将list of list 展平以列出。这是一种防止扁平化的方法吗?
【问题讨论】:
-
您可以尝试使用一元逗号运算符。
ForEach-Object { ,($_.Split(',')) }
标签: powershell