Arrays 如何加入&引用;工作
包含一个类似Powershell的代码,该代码拆分Arrays 如何加入&引用;工作,arrays,powershell,operators,evaluation,Arrays,Powershell,Operators,Evaluation,包含一个类似Powershell的代码,该代码拆分$env:path,应用筛选器并将结果放在一起,以将其存储在$env:path中 $path = ($path.Split(';') | Where-Object { $_ -ne 'ValueToRemove' }) -join ';' 我正在读这段代码,突然,一个疯狂的-join';'出现。这是怎么回事?这背后的概念是什么?我希望(如上所述,-Join操作符可以主要以两种方式使用: -Join <String[]> <St
$env:path
,应用筛选器并将结果放在一起,以将其存储在$env:path
中
$path = ($path.Split(';') | Where-Object { $_ -ne 'ValueToRemove' }) -join ';'
我正在读这段代码,突然,一个疯狂的-join';'代码>出现。这是怎么回事?这背后的概念是什么?我希望(如上所述,-Join
操作符可以主要以两种方式使用:
-Join <String[]>
<String[]> -Join <Delimiter>
要添加到,它是一个作用于字符串数组(string[]
)的运算符。运算符后面的字符指定用于连接数组中每个元素的字符
要分解部件,请执行以下操作:
($path.Split(';') # take the *string* $path and split into an *array*.
# do this on the ; character
Where-Object { $_ -ne 'ValueToRemove' }) # exclude the array element which is equal to
# "ValueToRemove"
-join ';' # Join the *array* back into a *string*
# Put ";" between each array element.
“突然,出现了一个野生的-join';”
。“哦,那么-join
,它看起来像一个命令的参数,是一个操作符,就像-
是一个操作符,它是-join
的子字符串。我明白了。指向PS知道的操作符列表的指针是最有用的。是的,没错。其他的是-split
(您的示例可以使用它,而不是$path.split
)、-和
、-作为
、-替换
,等等。我明白了。()
计算为一个数组,该数组支持-join
运算符。我想这对我来说是太多了。@user1129682正是如此。它计算为一个数组,因为.Split()
方法用于分解字符串。有关Split()的更多详细信息
方法。我想,创建和过滤数组的部分对OP来说是清楚的。谢谢你的添加!@Clijsters:不太清楚。我希望split会生成某种形式的iterable,但我不知道通过where Object
管道化数组的结果会是什么。
($path.Split(';') # take the *string* $path and split into an *array*.
# do this on the ; character
Where-Object { $_ -ne 'ValueToRemove' }) # exclude the array element which is equal to
# "ValueToRemove"
-join ';' # Join the *array* back into a *string*
# Put ";" between each array element.