Like-OperatorLike operator

Dient zum Vergleichen zweier Zeichenfolgen.Used to compare two strings.

SyntaxSyntax

Ergebnis = Zeichenfolge wie Musterresult = string Like pattern

Die Syntax des Wie-Operators enthält die folgenden Bestandteile:The Like operator syntax has these parts:

TeilPart BeschreibungDescription
resultresult Erforderlich. Eine beliebige numerische Variable.Required; any numeric variable.
Zeichenfolgestring Erforderlich. Ein Zeichenfolgenausdruck.Required; any string expression.
patternpattern Erforderlich. Ein beliebiger Zeichenfolgenausdruck mit einem gültigen Mustervergleich (wie unter Anmerkungen beschrieben).Required; any string expression conforming to the pattern-matching conventions described in Remarks.

HinweiseRemarks

Wenn String mit _Pattern_übereinstimmt, ist Result true; Wenn keine Übereinstimmung vorliegt, ist Result auf false festgelegt.If string matches pattern, result is True; if there is no match, result is False. Wenn eine Zeichenfolge oder ein Muster nullist, ist Result gleich null.If either string or pattern is Null, result is Null.

Das Verhalten des Like hängt von der Option Compare-Anweisung ab.The behavior of the Like operator depends on the Option Compare statement. Die Standardmethode für den Zeichenfolgenvergleich für die einzelnen Module lautet Option Compare Binary.The default string-comparison method for each module is Option Compare Binary.

Bei Option Compare Binary erfolgen Zeichenfolgenvergleiche basierend auf einer Sortierreihenfolge, die durch die interne binäre Darstellung der Zeichen festgelegt ist.Option Compare Binary results in string comparisons based on a sort order derived from the internal binary representations of the characters. Die Sortierreihenfolge wird durch die Codepage festgelegt.Sort order is determined by the code page.

Das folgende Beispiel zeigt eine typische binäre Sortierreihenfolge:In the following example, a typical binary sort order is shown:

A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø

Option Compare Text führt zu Zeichenfolgenvergleichen basierend auf einer Sortierreihenfolge für Text (ohne Groß- und Kleinschreibung zu berücksichtigen), die im Gebietsschema Ihres Systems festgelegt ist.Option Compare Text results in string comparisons based on a case-insensitive, textual sort order determined by your system's locale. Wenn Sie dieselben Zeichen mit Option Compare Text sortieren, erhalten Sie die folgende Reihenfolge:When you sort the same characters using Option Compare Text, the following text sort order is produced:

(A=a) < (À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)

Der integrierte Mustervergleich stellt ein vielseitiges Hilfsmittel für Zeichenfolgenvergleiche dar.Built-in pattern matching provides a versatile tool for string comparisons. Mit den Mustervergleichsfunktionen können Sie Platzhalterzeichen, Zeichenlisten oder Zeichenbereiche in einer beliebigen Kombination verwenden, um Zeichenfolgen zu vergleichen.The pattern-matching features allow you to use wildcard characters, character lists, or character ranges, in any combination, to match strings. In der folgenden Tabelle finden Sie die für pattern zulässigen Zeichen und wofür diese jeweils stehen:The following table shows the characters allowed in pattern and what they match:

Zeichen im MusterCharacters in pattern Übereinstimmungen in ZeichenfolgeMatches in string
? Ein beliebiges einzelnes Zeichen.Any single character.
* Null oder mehrere Zeichen.Zero or more characters.
# Eine beliebige einzelne Ziffer (0-9).Any single digit (0-9).
[ charlist ][ charlist ] Ein beliebiges einzelnes Zeichen in charlist.Any single character in charlist.
[ ! charlist ][ !charlist ] Ein beliebiges einzelnes Zeichen, das nicht in charlist enthalten ist.Any single character not in charlist.

Eine Gruppe von einem oder mehreren Zeichen ( charlist ), die in eckigen Klammern ([]) eingeschlossen ist, kann verwendet werden, um ein beliebiges einzelnes Zeichen in einer Zeichenfolge abzugleichen, und kann nahezu beliebigen Zeichencodeeinschließlich Ziffern enthalten.A group of one or more characters ( charlist ) enclosed in brackets ([ ]) can be used to match any single character in string and can include almost any character code, including digits.

Hinweis

Um die Sonderzeichen Left Bracket ([), Fragezeichen (?), Nummernzeichen (#) und Sternchen (*) abzugleichen, schließen Sie Sie in Klammern ein.To match the special characters left bracket ([), question mark (?), number sign (#), and asterisk (*), enclose them in brackets. Die rechte eckige Klammer (]) kann nicht innerhalb einer Gruppe verwendet werden, um sich selbst abzugleichen, aber Sie kann außerhalb einer Gruppe als einzelnes Zeichen verwendet werden.The right bracket (]) can't be used within a group to match itself, but it can be used outside a group as an individual character.

Durch Verwenden eines Bindestrichs (-) zum Trennen der oberen und unteren Begrenzung des Bereichs kann charlist einen Bereich von Zeichen angeben.By using a hyphen (-) to separate the upper and lower bounds of the range, charlist can specify a range of characters. Beispiel: Ergebnisse [A-Z] in einer Übereinstimmung, wenn die entsprechende Zeichenposition in Zeichenfolge alle Großbuchstaben im Bereich a-Z enthält.For example, [A-Z] results in a match if the corresponding character position in string contains any uppercase letters in the range A-Z. Mehrere Bereiche können Sie ohne weitere Trennzeichen nacheinander in dem Klammernpaar angeben.Multiple ranges are included within the brackets without delimiters.

Die Bedeutung eines angegebenen Bereichs hängt von der zum Zeitpunkt der Laufzeit gültigen Zeichenreihenfolge ab (gemäß Option Compare und der Gebietsschema Einstellung des Systems, auf dem der Code ausgeführt wird).The meaning of a specified range depends on the character ordering valid at run time (as determined by Option Compare and the locale setting of the system the code is running on). Mit dem Beispiel für die Option Compare Binary entspricht [A-E] der Bereich A, B und E. With Option Compare Text, [A-E] Matches a, a, à, à, b, b, E, e.Using the Option Compare Binary example, the range [A-E] matches A, B and E. With Option Compare Text, [A-E] matches A, a, À, à, B, b, E, e. Der Bereich stimmt nicht mit ê oder ê überein, da akzentuierte Zeichen nach nicht akzentuierten Zeichen in der Sortierreihenfolge liegen.The range does not match Ê or ê because accented characters fall after unaccented characters in the sort order.

Weitere wichtige Regeln zum Mustervergleich:Other important rules for pattern matching include the following:

  • Ein Ausrufezeichen (!) am Anfang von charlist bedeutet, dass sich eine Übereinstimmung ergibt, wenn, außer in den Zeichen in charlist, ein beliebiges Zeichen in string gefunden wird.An exclamation point (!) at the beginning of charlist means that a match is made if any character except the characters in charlist is found in string. Wird das Ausrufezeichen außerhalb der eckigen Klammern verwendet, so dient es als Platzhalterzeichen für sich selbst.When used outside brackets, the exclamation point matches itself.

  • Ein Bindestrich-() kann entweder am Anfang (nach einem Ausrufezeichen, wenn einer verwendet wird) oder am Ende von charlist angezeigt werden, damit er sich selbst abstimmt.A hyphen (-) can appear either at the beginning (after an exclamation point if one is used) or at the end of charlist to match itself. An jeder anderen Position dient der Bindestrich zur Kennzeichnung eines Zeichenbereichs.In any other location, the hyphen is used to identify a range of characters.

  • Wenn ein Zeichenbereich festgelegt wird, müssen die Zeichen in aufsteigender Sortierreihenfolge (vom niedrigsten zum höchsten) angegeben werden.When a range of characters is specified, they must appear in ascending sort order (from lowest to highest). [A-Z] ist demnach ein zulässiges Muster, [Z-A] dagegen nicht.[A-Z] is a valid pattern, but [Z-A] is not.

  • Die Zeichenfolge [] wird als Null-Zeichenfolge ("") interpretiert.The character sequence [] is considered a zero-length string ("").

In einigen Sprachen gibt es Sonderzeichen im Alphabet, die eigentlich zwei separate Zeichen darstellen.In some languages, there are special characters in the alphabet that represent two separate characters. In verschiedenen Sprachen wird zum Beispiel das Zeichen "æ" verwendet, um die Zeichen "a" und "e" darzustellen, wenn Sie nebeneinander erscheinen.For example, several languages use the character "æ" to represent the characters "a" and "e" when they appear together. Der Like-Operator erkennt, dass das einzelne Sonderzeichen und die beiden einzelnen Zeichen einander entsprechen.The Like operator recognizes that the single special character and the two individual characters are equivalent.

Wenn eine Sprache, in der ein Sonderzeichen verwendet wird, in den Ländereinstellungen des Systems angegeben ist, stimmt das einzelne Sonderzeichen in pattern oder string mit der entsprechenden Zusammensetzung aus zwei Zeichen in der anderen Zeichenfolge überein.When a language that uses a special character is specified in the system locale settings, an occurrence of the single special character in either pattern or string matches the equivalent 2-character sequence in the other string. Ähnlich stimmt ein einzelnes, in Pattern oder in eckige Klammern gesetztes Sonderzeichen (einzeln, in einer Liste oder einem Bereich), mit der entsprechenden Zusammensetzung aus zwei Zeichen in string überein.Similarly, a single special character in pattern enclosed in brackets (by itself, in a list, or in a range) matches the equivalent 2-character sequence in string.

BeispielExample

In diesem Beispiel wird der Like-Operator verwendet, um eine Zeichenfolge mit einem Muster zu vergleichen.This example uses the Like operator to compare a string to a pattern.

Dim MyCheck
MyCheck = "aBBBa" Like "a*a"    ' Returns True.
MyCheck = "F" Like "[A-Z]"    ' Returns True.
MyCheck = "F" Like "[!A-Z]"    ' Returns False.
MyCheck = "a2a" Like "a#a"    ' Returns True.
MyCheck = "aM5b" Like "a [L-P]#[!c-e]"    ' Returns True.
MyCheck = "BAT123khg" Like "B?T*"    ' Returns True.
MyCheck = "CAT123khg" Like "B?T*"    ' Returns False.
MyCheck = "ab" Like "a*b"    ' Returns True.
MyCheck = "a*b" Like "a [*]b"    ' Returns False.
MyCheck = "axxxxxb" Like "a [*]b"    ' Returns False.
MyCheck = "a [xyz" Like "a [[]*"    ' Returns True.
MyCheck = "a [xyz" Like "a [*"    ' Throws Error 93 (invalid pattern string).

Siehe auchSee also

Support und FeedbackSupport and feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation?Have questions or feedback about Office VBA or this documentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.