Gewusst wie: Vergleichen einer Zeichenfolge mit einem Muster

Aktualisiert: November 2007

Wenn Sie ermitteln möchten, ob ein Ausdruck vom String-Datentyp (Visual Basic) einem Muster entspricht, können Sie den Like-Operator (Visual Basic) verwenden.

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

Sie können jedes Zeichen in dem Zeichenfolgenausdruck mit einem bestimmten Zeichen, einem Platzhalterzeichen, einer Zeichenliste oder einem Bereich von Zeichen vergleichen. Die Positionen der Angaben in der Musterzeichenfolge entsprechen den Positionen der Zeichen, die im Zeichenfolgenausdruck verglichen werden sollen.

So vergleichen Sie ein Zeichen im Zeichenfolgenausdruck mit einem bestimmten Zeichen

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

    Im folgenden Beispiel wird überprüft, ob myString genau aus dem einzelnen Zeichen H besteht.

    Dim sMatch As Boolean = myString Like "H"
    

So vergleichen Sie ein Zeichen im Zeichenfolgenausdruck mit einem Platzhalterzeichen

  • Fügen Sie in die Musterzeichenfolge ein Fragezeichen (?) ein. Jedes gültiges Zeichen an dieser Position führt zu einer Übereinstimmung.

    Im folgenden Beispiel wird überprüft, ob myString aus dem einzelnen Zeichen W gefolgt von zwei beliebigen Zeichen besteht.

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

So vergleichen Sie ein Zeichen im Zeichenfolgenausdruck mit einer Liste von Zeichen

  • Fügen Sie in die Musterzeichenfolge eckige Klammern ([ ]) ein, und fügen Sie innerhalb der Klammern die Liste der Zeichen ein. Trennen Sie die Zeichen weder mit Komma noch einem anderen Trennzeichen. Jedes einzelne Zeichen in der Liste führt zu einer Übereinstimmung.

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

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

    Beachten Sie, dass bei diesem Vergleich die Groß-/Kleinschreibung beachtet werden muss.

So vergleichen Sie ein Zeichen im Zeichenfolgenausdruck mit einem Bereich von Zeichen

  • Fügen Sie in die Musterzeichenfolge eckige Klammern ([ ]) ein, und fügen Sie innerhalb der Klammern das erste und letzte Zeichen im Bereich ein, getrennt durch einen Bindestrich (–). Jedes einzelne Zeichen im Bereich ergibt eine Übereinstimmung.

    Im folgenden Beispiel wird überprüft, ob myString aus den Zeichen vom Typ 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 Vergleich die Groß-/Kleinschreibung beachtet werden muss.

Vergleichen leerer Zeichenfolgen

Like behandelt die Sequenz [] als Zeichenfolge der Länge 0 (null) (""). Mit [] können Sie überprüfen, ob der gesamte Zeichenfolgenausdruck leer ist, doch Sie können damit nicht überprüfen, ob eine bestimmte Position im Zeichenfolgenausdruck leer ist. Wenn Sie u. a. überprüfen müssen, ob eine leere Position vorhanden ist, können Sie Like mehrmals verwenden.

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

  1. Rufen Sie den Like-Operator für denselben Zeichenfolgenausdruck zweimal auf, und verknüpfen Sie die beiden Aufrufe entweder mit dem Or-Operator (Visual Basic) oder dem OrElse-Operator.

  2. Fügen Sie in der Musterzeichenfolge für die erste Like-Klausel die Zeichenfolgenliste in eckigen Klammern ([ ]) ein.

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

    Im folgenden Beispiel wird überprüft, ob die siebenstellige Telefonnummer phoneNum aus genau drei Ziffern, gefolgt von einem Leerzeichen, einem Bindestrich (–), einem Punkt (.) oder keinem Zeichen und genau vier numerischen Ziffern besteht.

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

Siehe auch

Konzepte

Operatoren und Ausdrücke in Visual Basic

Referenz

Vergleichsoperatoren (Visual Basic)

Like-Operator (Visual Basic)

String-Datentyp (Visual Basic)