2016-03-29 25 views
1

我不擅長與PowerShell的正則表達式,可以使用一些幫助。我在這裏使用正則表達式的原因是爲了適應空白(以及其他任何我認爲不可能的atm文本),因此垃圾被剝離以獲得所需的值。使用正則表達式獲取多個可能的字符串的子串

我想下面的代碼...

[String[]]$listOfStrings = @(' token = true ', ' token = false ', ' token = True ', ' token = False ') 

For ($stringNumber = 0; $stringNumber -lt $listOfStrings.length; $stringNumber++) 
{ 
    [String]$stringTest = ($listOfStrings[$stringNumber] -replace '*token*=','').Trim() 
    Write-Host $stringTest 
} 

輸出應該是以下...

true 
false 
True 
False 

不過,我得到以下錯誤信息......

Invalid regular expression pattern: *token*=. 
At :line:5 char:63 
+  [String]$stringTest = ($listOfStrings[$stringNumber] -replace <<<< '*token*=','').Trim() 

任何幫助,非常感謝。

回答

2

用途:

[String]$stringTest = ($listOfStrings[$stringNumber] -replace '.*token.*=','').Trim() 

通知的.*

在編寫正則表達式時,您可能還會在將來參考https://regex101.com/。許多人發現該網站相當有用。

+0

不幸的是,我的工作阻止了該網站,但我會檢查出來,並在我回家時保存爲收藏。非常感謝 :) –

相關問題