Freigeben über


Gewusst wie: Vergleichen einer Zeichenfolge mit einem Muster (Visual Basic)

Wenn Sie herausfinden möchten, ob ein Ausdruck des Datentyps „string“ (Zeichenfolge) einem Muster entspricht, können Sie den Like-Operator verwenden.

Like akzeptiert zwei Operanden. Der linke Operand ist ein Zeichenfolgenausdruck, und der rechte Operand ist eine Zeichenfolge, die das Muster enthält, das für den Abgleich verwendet werden soll. Like gibt einen Boolean-Wert zurück, der anzeigt, ob der Zeichenfolgenausdruck dem Muster entspricht.

Sie können jedes Zeichen im Zeichenfolgenausdruck mit einem bestimmten Zeichen, einem Platzhalterzeichen, einer Zeichenliste oder einem Zeichenbereich abgleichen. Die Positionen der Spezifikationen in der Musterzeichenfolge entsprechen den Positionen der Zeichen, die im Zeichenfolgenausdruck abgeglichen werden sollen.

So gleichen Sie ein Zeichen im Zeichenfolgenausdruck mit einem bestimmten Zeichen ab

Fügen Sie das spezifische Zeichen direkt in die Musterzeichenfolge ein. Bestimmte Sonderzeichen müssen in eckige Klammern ([ ]) eingeschlossen werden. Weitere Informationen finden Sie unter Like-Operator.

Im folgenden Beispiel wird getestet, ob myString genau aus dem einzelnen Zeichen H besteht.

Dim sMatch As Boolean = myString Like "H"

So gleichen Sie ein Zeichen im Zeichenfolgenausdruck mit einem Platzhalterzeichen ab

Fügen Sie ein Fragezeichen (?) in die Musterzeichenfolge ein. Jedes gültige Zeichen an dieser Position ergibt eine erfolgreiche Übereinstimmung.

Im folgenden Beispiel wird getestet, ob myString aus dem einzelnen Zeichen W, gefolgt von genau zwei Zeichen beliebiger Werte besteht.

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

So gleichen Sie ein Zeichen im Zeichenfolgenausdruck mit einer Liste von Zeichen ab

Fügen Sie eckige Klammern ([ ]) in die Musterzeichenfolge ein, und fügen Sie zwischen den Klammern die Liste der Zeichen ein. Trennen Sie die Zeichen nicht durch Kommas oder andere Trennzeichen. Jedes einzelne Zeichen in der Liste ergibt eine erfolgreiche Übereinstimmung.

Im folgenden Beispiel wird getestet, ob myString aus einem gültigen Zeichen, gefolgt von genau einem der Zeichen A, C oder E besteht.

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

Beachten Sie, dass bei diesem Abgleich die Groß-/Kleinschreibung beachtet wird.

So gleichen Sie ein Zeichen im Zeichenfolgenausdruck mit einem Zeichenbereich ab

Fügen Sie eckige Klammern ([ ]) in die Musterzeichenfolge ein, und fügen Sie zwischen den Klammern die niedrigsten und höchsten Zeichen im Bereich ein, getrennt durch einen Bindestrich (). Jedes einzelne Zeichen innerhalb des Bereichs ergibt eine erfolgreiche Übereinstimmung.

Im folgenden Beispiel wird getestet, ob myString aus den Zeichen num, gefolgt von genau einem der Zeichen i, j, k, l, m oder n besteht.

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

Beachten Sie, dass bei diesem Abgleich die Groß-/Kleinschreibung beachtet wird.

Abgleichen leerer Zeichenfolgen

Like behandelt die Sequenz [] als Zeichenfolge der Länge Null (""). Sie können [] verwenden, um zu testen, ob der gesamte Zeichenfolgenausdruck leer ist, aber Sie können damit nicht testen, ob eine bestimmte Position im Zeichenfolgenausdruck leer ist. Wenn eine leere Position eine der Optionen ist, auf die Sie testen müssen, können Sie Like mehr als einmal verwenden.

So gleichen Sie ein Zeichen im Zeichenfolgenausdruck mit einer Liste von Zeichen oder keinem Zeichen ab

  1. Rufen Sie den Like-Operator zweimal für denselben Zeichenfolgenausdruck auf, und verbinden Sie die beiden Aufrufe entweder mit dem Or-Operator oder mit dem OrElse-Operator.

  2. Fügen Sie in die Musterzeichenfolge als erste Like-Klausel die Zeichenliste ein, die in eckige Klammern ([ ]) eingeschlossen ist.

  3. Fügen Sie in der Musterzeichenfolge für die zweite Like-Klausel kein Zeichen an der betreffenden Position ein.

    Im folgenden Beispiel wird die siebenstellige Telefonnummer phoneNum auf genau drei numerische Ziffern getestet, gefolgt von einem Leerzeichen, einem Bindestrich (), einem Punkt (.) oder gar keinem Zeichen, gefolgt von genau vier numerischen Ziffern.

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

Weitere Informationen