Freigeben über


Vorgehensweise: Abgleichen einer Zeichenfolge mit einem Muster (Visual Basic)

Wenn Sie herausfinden möchten, ob ein Ausdruck des Datentyps "String" ein Muster erfüllt, 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 angibt, 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.

Um ein Zeichen in der Zeichenfolge mit einem bestimmten Zeichen abzugleichen

Platzieren Sie das spezifische Zeichen direkt in der Musterzeichenfolge. Bestimmte Sonderzeichen müssen in eckige Klammern ([ ]) eingeschlossen werden. Weitere Informationen finden Sie unter "Like Operator".

Im folgenden Beispiel wird überprüft, 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 besteht, gefolgt von genau zwei Zeichen beliebiger Werte.

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

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

Platzieren Sie Klammern ([ ]) in der Musterzeichenfolge, und in den Klammern wird die Liste der Zeichen platziert. Trennen Sie die Zeichen nicht durch Kommas oder ein anderes Trennzeichen. Jedes einzelne Zeichen in der Liste ergibt eine erfolgreiche Übereinstimmung.

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

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 leere Zeichenfolge (""). Sie können [] verwenden, um zu testen, ob der gesamte Zeichenfolgenausdruck leer ist, aber Sie können ihn nicht verwenden, um zu 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 mehr als einmal verwenden Like .

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 dem OrElse-Operator.

  2. Schließen Sie in der Musterzeichenfolge für die erste Like Klausel die Zeichenliste ein, die in Klammern ([ ]) eingeschlossen ist.

  3. Platzieren Sie in der Musterzeichenfolge für die zweite Like Klausel kein Zeichen an der betreffenden Position.

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

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

Siehe auch