2013-02-15 119 views
2

我使用這個符號什麼是測試字符串的最佳方法?

if ($someString -eq "someValue") { ... } 

測試一些字符串,但我讀過一些在線的例子,其中值與-like運營商測試

if ($someString -like "someValue") { ... } 

結果似乎是在所有情況相同(請注意,我正在談論字符串)。是否有任何區別和/或最佳實踐要遵循或沒有區別?

回答

4

-eq是爲了嚴格的平等。

-like可以使用通配符,但在你的情況下,它的作用就像-eq

編輯: 最佳做法是使用-eq如果你並不真正需要-like

+0

謝謝,我確信我錯過了一些東西! – Naigel 2013-02-15 14:55:45

-1

-eq檢查$someString是完全一樣$someValue

-like用它檢查$someString包含$someValue一些子通配符,使用時,否則它的工作原理相同-eq

-contains - 檢查天氣中是否有子字符串$someString

實際上-eq是最常用的一個,使用-like和通配符可以給你一些意想不到的誤報,但是如果你不需要這麼嚴格的檢查可以減少所需條件的數量。

+0

沒有,'-like' *沒有通配符*將與'-eq'相同。只有'-match'可以給出誤報,因爲它使用正則表達式'Foo'-match'o''。但是'Foo' - 不喜歡'o''。 – BartekB 2013-02-15 14:54:46

+1

可能你感到困惑'-like'和'-contains' – Naigel 2013-02-15 14:54:57

+0

感謝您指出,編輯了一個固定的 – Blaise 2013-02-15 15:35:40

相關問題