Like-Operator (Visual Basic)Like Operator (Visual Basic)

Vergleicht eine Zeichenfolge mit einem Muster.Compares a string against a pattern.

SyntaxSyntax

result = string Like pattern  

TeileParts

result
Erforderlich.Required. Alle Boolean Variable.Any Boolean variable. Das Ergebnis ist ein Boolean Wert, der angibt, und zwar unabhängig davon, ob die string erfüllt die pattern.The result is a Boolean value indicating whether or not the string satisfies the pattern.

string
Erforderlich.Required. Beliebiger String-Ausdruck.Any String expression.

pattern
Erforderlich.Required. Alle String Ausdruck entsprechen, das mit den Mustervergleich Konventionen beschrieben, die in "Hinweise".Any String expression conforming to the pattern-matching conventions described in "Remarks."

HinweiseRemarks

Wenn der Wert in string erfüllt, die das Muster pattern, result ist True.If the value in string satisfies the pattern contained in pattern, result is True. Wenn die Zeichenfolge nicht das Muster erfüllt result ist False.If the string does not satisfy the pattern, result is False. Wenn beide string und pattern leere Zeichenfolgen sind das Ergebnis ist True.If both string and pattern are empty strings, the result is True.

Die Methode zum ZeichenfolgenvergleichComparison Method

Das Verhalten der Like Operator richtet sich nach der Option Compare-Anweisung.The behavior of the Like operator depends on the Option Compare Statement. Ist die Standardzeichenfolgenvergleichsmethode für jede Quelldatei Option Compare Binary.The default string comparison method for each source file is Option Compare Binary.

MusteroptionenPattern Options

Integrierte Mustervergleich bietet ein vielseitiges Tool für Zeichenfolgenvergleiche.Built-in pattern matching provides a versatile tool for string comparisons. Die Mustervergleich Funktionen ermöglichen es Ihnen, um jedes Zeichen in string für ein bestimmtes Zeichen, ein Platzhalterzeichen, eine Zeichenliste oder einem Bereich von Zeichen.The pattern-matching features allow you to match each character in string against a specific character, a wildcard character, a character list, or a character range. Die folgende Tabelle zeigt die zulässigen Zeichen in pattern und was sie übereinstimmen.The following table shows the characters allowed in pattern and what they match.

Zeichen in patternCharacters in pattern Zeilen enthält stringMatches in string
? Ein beliebiges einzelnes ZeichenAny single character
* NULL oder mehr ZeichenZero or more characters
# Eine einzelne Ziffer (0-9)Any single digit (0–9)
[charlist] Beliebiges einzelnes Zeichen in charlistAny single character in charlist
[!charlist] Beliebiges einzelnes Zeichen, die nicht in charlistAny single character not in charlist

ZeichenlistenCharacter Lists

Eine Gruppe von einem oder mehreren Zeichen (charlist) in Klammern eingeschlossen ([ ]) kann verwendet werden, um einem beliebigen einzelnen Zeichen entsprechen string kann nahezu jede Zeichencode, einschließ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.

Ein Ausrufezeichen (!) am Anfang des charlist bedeutet, die eine Übereinstimmung festgestellt wurde, wenn alle, mit Ausnahme der Zeichen in Zeichen charlist befindet sich im string.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. Wenn außerhalb der Klammern verwendet wird, entspricht das Ausrufezeichen selbst.When used outside brackets, the exclamation point matches itself.

SonderzeichenSpecial Characters

Die öffnende Klammer für Sonderzeichen entsprechend ([), Fragezeichen (?), Nummernzeichen (#), und das Sternchen (*), in Klammern eingeschlossen werden.To match the special characters left bracket ([), question mark (?), number sign (#), and asterisk (*), enclose them in brackets. Der schließenden Klammer (]) kann nicht innerhalb einer Gruppe verwendet werden, entsprechend selbst, aber außerhalb einer Gruppe als ein einzelnes Zeichen verwendet werden.The right bracket (]) cannot be used within a group to match itself, but it can be used outside a group as an individual character.

Die Zeichensequenz [] gilt eine Zeichenfolge der Länge 0 (null) ("").The character sequence [] is considered a zero-length string (""). Es darf nicht jedoch Teil einer Zeichenliste in Klammern eingeschlossen sein.However, it cannot be part of a character list enclosed in brackets. Wenn Sie, ob eine Position in überprüfen möchten string enthält mindestens ein von einer Gruppe von Zeichen oder kein Zeichen befindet, können Sie Like zweimal.If you want to check whether a position in string contains one of a group of characters or no character at all, you can use Like twice. Ein Beispiel finden Sie unter wie: Vergleichen einer Zeichenfolge mit einem Muster.For an example, see How to: Match a String against a Pattern.

ZeichenbereicheCharacter Ranges

Mithilfe eines Bindestrichs () trennen Sie die unter- und Obergrenzen des Bereichs charlist können einen Bereich von Zeichen angeben.By using a hyphen () to separate the lower and upper bounds of the range, charlist can specify a range of characters. Beispielsweise [A–Z] ergibt eine Übereinstimmung, wenn die entsprechende in Zeichenposition string enthält alle Zeichen innerhalb des Bereichs AZ, und [!H–L] ergibt eine Übereinstimmung, wenn das entsprechende Zeichen zu positionieren. beliebiges Zeichen außerhalb des Bereichs enthält HL.For example, [A–Z] results in a match if the corresponding character position in string contains any character within the range AZ, and [!H–L] results in a match if the corresponding character position contains any character outside the range HL.

Wenn Sie einen Bereich von Zeichen angeben, müssen sie angezeigt werden, in aufsteigender Sortierreihenfolge, d. h. vom niedrigsten zum höchsten.When you specify a range of characters, they must appear in ascending sort order, that is, from lowest to highest. Folglich [A–Z] ein gültiges Muster ist aber [Z–A] nicht.Thus, [A–Z] is a valid pattern, but [Z–A] is not.

Mehrere ZeichenbereicheMultiple Character Ranges

Um mehrere Bereiche für die Position des gleichen Zeichens anzugeben, fügen Sie sie in der gleichen Klammern ohne Trennzeichen.To specify multiple ranges for the same character position, put them within the same brackets without delimiters. Beispielsweise [A–CX–Z] ergibt eine Übereinstimmung, wenn die entsprechende in Zeichenposition string enthält alle Zeichen entweder das nächsthöchsten AC bzw. im Bereich XZ.For example, [A–CX–Z] results in a match if the corresponding character position in string contains any character within either the range AC or the range XZ.

Verwendung des BindestrichsUsage of the Hyphen

Ein Bindestrich () stehen am Anfang (nach einem Ausrufezeichen, sofern vorhanden) oder am Ende der charlist selbst übereinstimmen.A hyphen () can appear either at the beginning (after an exclamation point, if any) or at the end of charlist to match itself. In einem anderen Ort identifiziert der Bindestrich einen Bereich von Zeichen, die durch die Zeichen auf beiden Seiten des Bindestrichs nicht begrenzt.In any other location, the hyphen identifies a range of characters delimited by the characters on either side of the hyphen.

SortierreihenfolgeCollating Sequence

Die Bedeutung eines angegebenen Bereichs hängt von der Zeichenreihenfolge zur Laufzeit vom Option``Compare und dem Gebietsschema des Systems, auf der Code ausgeführt wird.The meaning of a specified range depends on the character ordering at run time, as determined by Option``Compare and the locale setting of the system the code is running on. Mit Option``Compare``Binary, Bereich [A–E] entspricht A, B, C, D, und E.With Option``Compare``Binary, the range [A–E] matches A, B, C, D, and E. Mit Option``Compare``Text, [A–E] entspricht A, a, À, à, B, b, C, c, D, d, E, und e.With Option``Compare``Text, [A–E] matches A, a, À, à, B, b, C, c, D, d, E, and e. Der Bereich stimmt nicht überein. Ê oder ê da Zeichen mit Akzenten nach ohne Akzent Zeichen in der Sortierreihenfolge sortieren.The range does not match Ê or ê because accented characters collate after unaccented characters in the sort order.

Digraph ZeichenDigraph Characters

In einigen Sprachen sind alphabetische Zeichen, die zwei separate Zeichen darstellen.In some languages, there are alphabetic characters that represent two separate characters. Mehrere Sprachen verwenden, z. B. das Zeichen æ zur Darstellung der Zeichen a und e Wenn sie zusammen auftreten.For example, several languages use the character æ to represent the characters a and e when they appear together. Die Like Operator erkennt, dass die einzelnen Digraphzeichen und die beiden einzelnen Zeichen äquivalent sind.The Like operator recognizes that the single digraph character and the two individual characters are equivalent.

Wenn eine Sprache, die ein Zeichen Digraph verwendet im Gebietsschema Systems angegeben wird, ein Vorkommen des Zeichens in einer einzelnen Digraph pattern oder string die entsprechende zwei Zeichen bestehende Folge in die andere Zeichenfolge übereinstimmt.When a language that uses a digraph character is specified in the system locale settings, an occurrence of the single digraph character in either pattern or string matches the equivalent two-character sequence in the other string. Auf ähnliche Weise einen Digraph Zeichen in pattern in Klammern eingeschlossen (alleine in einer Liste oder in einem Bereich) entspricht, in die entsprechende zwei Zeichen bestehende Folge string.Similarly, a digraph character in pattern enclosed in brackets (by itself, in a list, or in a range) matches the equivalent two-character sequence in string.

ÜberladenOverloading

Die Like Operator kann überladen, was bedeutet, dass eine Klasse oder Struktur sein Verhalten definieren kann, wenn ein Operand den Typ der betreffenden Klasse oder Struktur hat.The Like operator can be overloaded, which means that a class or structure can redefine its behavior when an operand has the type of that class or structure. Wenn im Code dieser Operator auf eine solche Klasse oder Struktur verwendet, achten Sie darauf, dass Sie dessen neu definierten Verhalten verstehen.If your code uses this operator on such a class or structure, be sure you understand its redefined behavior. Weitere Informationen finden Sie unter Operatorprozeduren.For more information, see Operator Procedures.

BeispielExample

Dieses Beispiel verwendet die Like Operator, Zeichenfolgen, die verschiedene Muster verglichen werden soll.This example uses the Like operator to compare strings to various patterns. Die Ergebnisse werden in einem Boolean Variable, der angibt, ob jede Zeichenfolge mit dem Muster entspricht.The results go into a Boolean variable indicating whether each string satisfies the pattern.

Dim testCheck As Boolean
' The following statement returns True (does "F" satisfy "F"?)
testCheck = "F" Like "F"
' The following statement returns False for Option Compare Binary
'    and True for Option Compare Text (does "F" satisfy "f"?)
testCheck = "F" Like "f"
' The following statement returns False (does "F" satisfy "FFF"?)
testCheck = "F" Like "FFF"
' The following statement returns True (does "aBBBa" have an "a" at the
'    beginning, an "a" at the end, and any number of characters in 
'    between?)
testCheck = "aBBBa" Like "a*a"
' The following statement returns True (does "F" occur in the set of
'    characters from "A" through "Z"?)
testCheck = "F" Like "[A-Z]"
' The following statement returns False (does "F" NOT occur in the 
'    set of characters from "A" through "Z"?)
testCheck = "F" Like "[!A-Z]"
' The following statement returns True (does "a2a" begin and end with
'    an "a" and have any single-digit number in between?)
testCheck = "a2a" Like "a#a"
' The following statement returns True (does "aM5b" begin with an "a",
'    followed by any character from the set "L" through "P", followed
'    by any single-digit number, and end with any character NOT in
'    the character set "c" through "e"?)
testCheck = "aM5b" Like "a[L-P]#[!c-e]"
' The following statement returns True (does "BAT123khg" begin with a
'    "B", followed by any single character, followed by a "T", and end
'    with zero or more characters of any type?)
testCheck = "BAT123khg" Like "B?T*"
' The following statement returns False (does "CAT123khg"?) begin with
'    a "B", followed by any single character, followed by a "T", and
'    end with zero or more characters of any type?)
testCheck = "CAT123khg" Like "B?T*"

Siehe auchSee Also

InStr
StrComp
VergleichsoperatorenComparison Operators
Operator Precedence in Visual Basic (Operatorrangfolge in Visual Basic)Operator Precedence in Visual Basic
Nach Funktionalität sortierte OperatorenOperators Listed by Functionality
Option Compare-AnweisungOption Compare Statement
Operatoren und AusdrückeOperators and Expressions
Gewusst wie: Vergleichen einer Zeichenfolge mit einem MusterHow to: Match a String against a Pattern