Porady: dopasowywanie ciągu do wzorca (Visual Basic)

Jeśli chcesz dowiedzieć się, czy wyrażenie typu danych ciągu spełnia wzorzec, możesz użyć operatora Like.

Like przyjmuje dwa operandy. Lewy operand jest wyrażeniem ciągu, a prawy operand jest ciągiem zawierającym wzorzec, który ma być używany do dopasowywania. Like Zwraca wartość wskazującą Boolean , czy wyrażenie ciągu spełnia wzorzec.

Każdy znak w wyrażeniu ciągu można dopasować do określonego znaku, symbolu wieloznakowego, listy znaków lub zakresu znaków. Pozycje specyfikacji w ciągu wzorca odpowiadają położeniam znaków, które mają być dopasowane w wyrażeniu ciągu.

Aby dopasować znak w wyrażeniu ciągu do określonego znaku

Umieść konkretny znak bezpośrednio w ciągu wzorca. Niektóre znaki specjalne muszą być ujęte w nawiasy kwadratowe ([ ]). Aby uzyskać więcej informacji, zobacz Jak operator.

Poniższy przykład sprawdza, czy myString składa się dokładnie z pojedynczego znaku H.

Dim sMatch As Boolean = myString Like "H"

Aby dopasować znak w wyrażeniu ciągu do symbolu wieloznakowego

Umieść znak zapytania (?) w ciągu wzorca. Każdy prawidłowy znak w tej pozycji powoduje pomyślne dopasowanie.

Poniższy przykład sprawdza, czy myString składa się z pojedynczego znaku W , po którym następują dokładnie dwa znaki dowolnej wartości.

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

Aby dopasować znak w wyrażeniu ciągu do listy znaków

Umieść nawiasy kwadratowe ([ ]) w ciągu wzorca, a wewnątrz nawiasów umieść listę znaków. Nie rozdzielaj znaków przecinkami ani żadnego innego separatora. Każdy pojedynczy znak na liście powoduje pomyślne dopasowanie.

Poniższy przykład sprawdza, czy myString składa się z dowolnego prawidłowego znaku, po którym następuje dokładnie jeden z znaków A, Club E.

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

Należy pamiętać, że to dopasowanie uwzględnia wielkość liter.

Aby dopasować znak w wyrażeniu ciągu do zakresu znaków

Umieść nawiasy kwadratowe ([ ]) w ciągu wzorca, a wewnątrz nawiasów umieść najniższe i najwyższe znaki w zakresie, oddzielone łącznikiem (). Każdy pojedynczy znak w zakresie powoduje pomyślne dopasowanie.

Poniższy przykład sprawdza, czy myString składa się z znakównum, po których następuje dokładnie jeden z znaków i, , j, lk, mlub n.

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

Należy pamiętać, że to dopasowanie uwzględnia wielkość liter.

Dopasowywanie pustych ciągów

Like traktuje sekwencję [] jako ciąg o zerowej długości (""). Możesz użyć [] polecenia , aby sprawdzić, czy całe wyrażenie ciągu jest puste, ale nie można go użyć do przetestowania, czy określona pozycja w wyrażeniu ciągu jest pusta. Jeśli pusta pozycja jest jedną z opcji, które należy przetestować, możesz użyć Like więcej niż raz.

Aby dopasować znak w wyrażeniu ciągu do listy znaków lub bez znaku

  1. Wywołaj operator dwa razy w tym samym wyrażeniu Like ciągu i połącz dwa wywołania za pomocą operatora Or lub Operatora OrElse.

  2. W ciągu wzorca dla pierwszej Like klauzuli dołącz listę znaków ujętą w nawiasy kwadratowe ([ ]).

  3. W ciągu wzorca drugiej Like klauzuli nie umieszczaj żadnego znaku w danej pozycji.

    Poniższy przykład testuje siedmiocyfrowy numer phoneNum telefonu pod kątem dokładnie trzech cyfr, po których następuje spacja, łącznik (), kropka (.) lub żaden znak, po którym następuje dokładnie cztery cyfry liczbowe.

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

Zobacz też