Обратные косые черты в Powershell

почему строка для параметра-split требует двух обратных косых черт, а строка для параметра-join требует только одной обратной косой черты? Backtick-это escape-символ в Powershell. Что делает обратная косая черта, предшествующая персонажу, для вас?

$path = 'C:foldertestunit1testingresultsreport.txt'

$path -split '' -notlike '*test*' -join ''

http://powershell.com/cs/blogs/tips/archive/2014/06/17/fun-with-path-names.aspx

2 ответов


-split распадается на регулярное выражение по умолчанию. Таким образом, именно регулярное выражение требует избежания обратной косой черты. Вы можете сказать PowerShell не использовать регулярное выражение так:

$path -split '\',-1,'SimpleMatch'

-join просто берет любые символы, которые вы предоставляете, чтобы использовать в качестве разделителя, чтобы придерживаться между соединяемыми строками.


-split принимает регулярное выражение, где обратная косая черта является специальным символом, поэтому его нужно экранировать