我要搜索以下字符串中的文本文件:$$u$$
我試過select-string
,get-content
,.Contains
。在我看來,這是不可能的。
我用它進行搜索作爲變量:$ToSearch = "'$'$u'$'$"
它總是提供虛假的結果。
有沒有人知道解決方案?
我要搜索以下字符串中的文本文件:$$u$$
我試過select-string
,get-content
,.Contains
。在我看來,這是不可能的。
我用它進行搜索作爲變量:$ToSearch = "'$'$u'$'$"
它總是提供虛假的結果。
有沒有人知道解決方案?
這是因爲大多數搜索過濾器都依賴於正則表達式。在正則表達式$符號需要轉義
不知道更多的你要完成我不能給太多的例子了什麼,但這裏是一個:
'this is a $$u$$ test' -replace "\$",""
的「\」就是逃避角色 - 意味着從字面上翻譯它。
編輯:每評論
$Val = 'this is a $$u$$ test'
$Val | Select-String "\$+\w\$+" -quiet
-Quiet開關返回T/F,而不是一個字符串值。
$是正則表達式中的保留字符,這會使搜索更加複雜。
Select-String的默認搜索模式類型是正則表達式,但您也可以指定-Simplematch
或-Wildcard
,其中任何一個都不需要轉義$。如果您使用-Wildcard,則需要在比賽的任何一端包含wilcard * '*$$u$$*'
。爲了簡單匹配,只需使用您想匹配的字符串 - '$$u$$'
。
只要不要忘記單引號模式,因爲'$'也是PowerShell中的特殊字符,並且使用雙引號字符串進行評估。 – 2014-09-24 14:32:06
$ true dat。最佳做法是在字符串包含明確想要展開的變量和/或子表達式時僅加雙引號。 – mjolinor 2014-09-24 14:39:40
我只想有一個二進制答案(TRUE/FALSE)是否可以在文本文件中找到該字符串。更多的行可以包含這個,但是一個事件已經足以獲得TRUE結果。 – jarvasm 2014-09-24 13:09:25
使用可能更有幫助的東西編輯回答 – 2014-09-24 13:15:15