1. 程式人生 > 其它 >在 PowerShell 中,–Match、-Like 和 –Contains 有什麼區別?

在 PowerShell 中,–Match、-Like 和 –Contains 有什麼區別?

轉自:https://www.nhooo.com/note/qa0gd1.html

首先使用三種用法進行示例:

PS C:\WINDOWS\system32> "This is a PowerShell String" -Match "PowerShell"
True
PS C:\WINDOWS\system32> "This is a PowerShell String" -Like "PowerShell"
False
PS C:\WINDOWS\system32> "This is a PowerShell String" -Contains "PowerShell"
False

1、Match 表示判斷右側字串是否在左側字串中,其實是在匹配正則表示式;

2、Like 的用法與 SQL 中類似,在需要匹配的字串左右需要增加 * 來代表萬用字元,用法示例:

PS C:\WINDOWS\system32> "This is a PowerShell String" -like "*PowerShell*"
True

3、Contains 是用來判斷陣列中是否包含元素,在對字串使用時,則將字串拆分為字元陣列進行判斷

用法示例:

PS C:\WINDOWS\system32> "Apple","Dog","Carrot","Cat" -contains "
dog" True

唔,所以不要用錯哦~

更多比較運算子參考:https://docs.microsoft.com/zh-cn/powershell/scripting/learn/deep-dives/everything-about-if

Where-Object 參考:https://docs.microsoft.com/zh-cn/powershell/module/microsoft.powershell.core/where-object

Select-Object 參考:https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/select-object