共用方式為


如何:將字串比對模式(Visual Basic)

如果您想要瞭解 String 資料類型 的表達式是否符合模式,則可以使用 Like 運算符

Like 需要兩個運算元。 左作數是字串表示式,而右作數是包含要用於比對之模式的字串。 Like 會傳 Boolean 回值,指出字串表達式是否符合模式。

您可以比對字串表示式中的每個字元與特定字元、通配符、字元清單或字元範圍。 模式字串中規格的位置會對應至字串表示式中要比對之字元的位置。

若要比對字串表達式中的字元與特定字元

將特定字元直接放在模式字串中。 某些特殊字元必須以方括弧括住([ ])。 如需詳細資訊,請參閱 Like Operator

下列範例會測試是否 myString 只包含單一字元 H

Dim sMatch As Boolean = myString Like "H"

將字串中的某個字元與通配符進行比對。

將問號 (?) 放在模式字串中。 此位置中的任何有效字元都能夠成功比對。

下列範例會測試 myString 是否由單一字元 W 所組成,並精確接著任意兩個字元。

Dim sMatch As Boolean = myString Like "W??"

若要比對字串表示式中的字元與字元清單

將方括弧 ([ ]) 放在圖樣字串中,並在方括弧內放置字元清單。 請勿以逗號或任何其他分隔符分隔字元。 清單中的任何單一字元都能夠成功比對。

下列範例會測試是否 myString 由任何有效字元組成,後面緊接著恰好是 ACE 中的一個字元。

Dim sMatch As Boolean = myString Like "?[ACE]"

請注意,此比對會區分大小寫。

將字串中的字元與字元範圍比對

將方括弧 ([ ]) 放在圖樣字串中,並在方括弧內放置範圍中最低和最高的字元,並以連字元 () 分隔。 在這個範圍內的任何單一字元都能成功匹配。

下列範例會測試myString是否由字元num組成,並且後面緊接著正好是字元ijklmn中的其中一個。

Dim sMatch As Boolean = myString Like "num[i-m]"

請注意,此比對會區分大小寫。

比對空字串

Like 將序列 [] 視為長度為零的字串 ("")。 您可以使用 [] 來測試整個字串表達式是否為空的,但您無法使用它來測試字串表示式中的特定位置是否為空白。 如果空白位置是您需要測試的選項之一,您可以使用 Like 一次以上。

若要比對字串表達式中的字元,針對字元清單或不含任何字元進行比對。

  1. Like在相同的字串表示式上呼叫運算符兩次,並使用 Or 運算符OrElse 運算符連接這兩個呼叫。

  2. 在第一個 Like 子句的模式字串中,包含以方括弧括住的字元清單([ ])。

  3. 在第二個 Like 子句的模式字串中,請勿在指定的位置放置任何字元。

    下列範例會測試 7 位數的電話號碼phoneNum,以確切三個數字,後面接著空格、連字元 ()、句號 (.),或不加任何字元,後面接著四個數字。

    Dim sMatch As Boolean = 
      (phoneNum Like "###[ -.]####") OrElse (phoneNum Like "#######")
    

另請參閱