我在 PowerShell 上,我需要匹配變數的最后一個字符:
我的例子是不讓用戶
$Myobject = Get-Something -Filter 'Name -like "T*"'
當我寫$Myobject我有這個:
Ta
Taaa
Tb
Tbaa
Tc
Tcaa
我試圖匹配只有:
Ta
Tb
Tc
所以我嘗試了這個:
$MyObject | Where-Object{ ($_.Name -match '^T[a-c]$')} | Select-Object Name
我使用不同型別的命令得到的唯一結果是第一個結果,在網上找不到“如何匹配最后一個字符”。
謝謝您的幫助。
最好的祝福
uj5u.com熱心網友回復:
如果您只想為您指定的字串后面的一個字符使用通配符,最簡單的選項(與您現有的代碼格式一致)是使用 ? 而不是 *。
使用 * 捕獲指定字串之后的所有內容,而 ? 只捕獲一個字串。作為一個非常粗略的例子:
$foo = @("Ta","Taaaa","Tbaaa","Tb")
$foo | where-object {$_ -like "T?"}
你會看到它只回傳 Ta 和 Tb 就像你追求的那樣。
因此,在您上面的示例中,它將是:
$Myobject = Get-Something -Filter 'Name -like "T?"'
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/435595.html
標籤:电源外壳
