Gewusst wie: Vergleichen einer Zeichenfolge mit einem Muster (Visual Basic)
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
Rufen Sie den Operator Like für denselben Zeichenfolgenausdruck zweimal auf, und verknüpfen Sie die beiden Aufrufe entweder mit dem Or-Operator (Visual Basic) oder dem OrElse-Operator (Visual Basic).
Fügen Sie in der Musterzeichenfolge für die erste Like-Klausel die Zeichenfolgenliste in eckigen Klammern ([ ]) ein.
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
Referenz
Vergleichsoperatoren (Visual Basic)
String-Datentyp (Visual Basic)