我想要替换字符串中的字符然后拆分它.示例如下:
$in = "string with spaces"
$out = $in -replace 's' | $_.Split(' ')
Run Code Online (Sandbox Code Playgroud)
导致ExpressionsMustBeFirstInPipeline.
为什么这不起作用?
更换进入管道的结果没有任何问题,但您的下一步实际上并未从管道中读取.对于您选择的构造,您需要一个ForEach-Object循环:
$out = $in -replace 's' | ForEach-Object { $_.Split(' ') }
Run Code Online (Sandbox Code Playgroud)
或者调用Split()替换的结果(没有管道):
$out = ($in -replace 's').Split(' ')
Run Code Online (Sandbox Code Playgroud)
但是,如果您使用-split运算符而不是Split()方法,则可以简单地对其进行菊花链连接(再次不使用管道):
$out = $in -replace 's' -split ' '
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
179 次 |
| 最近记录: |