为什么-split参数的字符串需要两个反斜杠,而-join参数的字符串只需要一个反斜杠?反引号是Powershell中的转义字符。角色前面的反斜杠对你有什么作用?
$path = 'C:\folder\test\unit1\testing\results\report.txt'
$path -split '\\' -notlike '*test*' -join '\'
http://powershell.com/cs/blogs/tips/archive/2014/06/17/fun-with-path-names.aspx
答案 0 :(得分:9)
-split
在正则表达式上拆分。所以这是正则表达式,需要逃避反斜杠。你可以告诉PowerShell不要像这样使用正则表达式:
$path -split '\',-1,'SimpleMatch'
-join
只是将您提供的任何字符用作分隔符,以便在要连接的字符串之间插入。
答案 1 :(得分:1)
-split接受正则表达式,其中反斜杠是特殊字符,因此需要进行转义