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

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

Wichtig

Der Like-Operator wird derzeit nicht in .net Core-und .NET Standard-Projekten unterstützt.The Like operator is currently not supported in .NET Core and .NET Standard projects.

SyntaxSyntax

result = string Like pattern  

-KomponentenParts

result
ErforderlichRequired. Eine beliebige Boolean Variable.Any Boolean variable. Das Ergebnis ist ein Boolean Wert, der angibt, ob die string dem patternentspricht.The result is a Boolean value indicating whether or not the string satisfies the pattern.

string
ErforderlichRequired. Beliebiger String -Ausdruck.Any String expression.

pattern
ErforderlichRequired. Jeder String Ausdruck, der den in "Anmerkungen" beschriebenen Muster Vergleichs Konventionen entspricht.Any String expression conforming to the pattern-matching conventions described in "Remarks."

HinweiseRemarks

Wenn der Wert in string dem Muster entspricht, das in patternenthalten ist, wird result True.If the value in string satisfies the pattern contained in pattern, result is True. Wenn die Zeichenfolge das Muster nicht erfüllt, wird result False.If the string does not satisfy the pattern, result is False. Wenn sowohl string als auch pattern leere Zeichen folgen sind, wird das Ergebnis True.If both string and pattern are empty strings, the result is True.

VergleichsmethodeComparison Method

Das Verhalten des Like Operators hängt von der Option Compare-Anweisungab.The behavior of the Like operator depends on the Option Compare Statement. Die standardmäßige Zeichen folgen Vergleichsmethode für jede Quelldatei ist Option Compare Binary.The default string comparison method for each source file is Option Compare Binary.

Muster OptionenPattern Options

Der integrierte Musterabgleich bietet ein vielseitiges Tool für Zeichen folgen Vergleiche.Built-in pattern matching provides a versatile tool for string comparisons. Die Muster Vergleichs Features ermöglichen es Ihnen, jedes Zeichen in string mit einem bestimmten Zeichen, einem Platzhalter Zeichen, einer Zeichen Liste oder einem Zeichenbereich abzugleichen.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. In der folgenden Tabelle sind die Zeichen aufgeführt, die in pattern zulässig sind, sowie ihre Entsprechung.The following table shows the characters allowed in pattern and what they match.

Zeichen in patternCharacters in pattern Übereinstimmungen in stringMatches in string
? Alle einzelnen ZeichenAny single character
* NULL oder mehr ZeichenZero or more characters
# Eine beliebige einzelne Ziffer (0 – 9)Any single digit (0–9)
[charlist] Beliebiges einzelnes Zeichen in charlistAny single character in charlist
[!charlist] Alle einzelnen Zeichen, die nicht in charlistAny single character not in charlist

Zeichen ListenCharacter Lists

Eine Gruppe mit einem oder mehreren Zeichen (charlist), die in eckige Klammern ([ ]) eingeschlossen ist, kann verwendet werden, um jedes beliebige Zeichen in string abzugleichen. Sie kann nahezu beliebigen Zeichencode enthalten, einschließlich Ziffern.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 charlist bedeutet, dass eine Abgleich erfolgt, wenn ein beliebiges Zeichen außer den Zeichen in charlist in stringgefunden 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. Bei Verwendung außerhalb von Klammern entspricht das Ausrufezeichen dem Wert selbst.When used outside brackets, the exclamation point matches itself.

SonderzeichenSpecial Characters

Zum Abgleichen der Sonderzeichen Left eckige Klammer ([), Fragezeichen (?), Nummern Zeichen (#) und Sternchen (*), schließen Sie Sie in eckige 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, Sie kann jedoch außerhalb einer Gruppe als 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 Zeichenfolge [] wird als Zeichenfolge der Länge 0 (null) betrachtet ("").The character sequence [] is considered a zero-length string (""). Sie kann jedoch nicht Teil einer Zeichen Liste sein, die in eckige Klammern eingeschlossen ist.However, it cannot be part of a character list enclosed in brackets. Wenn Sie überprüfen möchten, ob eine Position in string eine Zeichen Gruppe oder ein Zeichen enthält, können Sie Like zweimal verwenden.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 Gewusst wie: Vergleichen einer Zeichenfolge mit einem Muster.For an example, see How to: Match a String against a Pattern.

Zeichen BereicheCharacter Ranges

Durch die Verwendung eines Bindestrichs () zum Trennen der unteren und oberen Begrenzungen des Bereichs können charlist einen Zeichenbereich angeben.By using a hyphen () to separate the lower and upper bounds of the range, charlist can specify a range of characters. [A–Z] führt beispielsweise zu einer Übereinstimmung, wenn die entsprechende Zeichenposition in string ein beliebiges Zeichen innerhalb des Bereichs AZenthält. [!H–L] ergibt eine Übereinstimmung, wenn die entsprechende Zeichenposition ein Zeichen außerhalb des Bereichs HLenthält.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 Zeichenbereich angeben, müssen Sie in aufsteigender Sortierreihenfolge angezeigt werden, d. h. von der niedrigsten zur höchsten.When you specify a range of characters, they must appear in ascending sort order, that is, from lowest to highest. Daher ist [A–Z] ein gültiges Muster, aber [Z–A] ist nicht.Thus, [A–Z] is a valid pattern, but [Z–A] is not.

Mehrere Zeichen BereicheMultiple Character Ranges

Wenn Sie mehrere Bereiche für dieselbe Zeichenposition angeben möchten, platzieren Sie Sie ohne Trennzeichen in denselben Klammern.To specify multiple ranges for the same character position, put them within the same brackets without delimiters. [A–CX–Z] führt beispielsweise zu einer Übereinstimmung, wenn die entsprechende Zeichenposition in string ein beliebiges Zeichen innerhalb des Bereichs AC oder des Bereichs XZenthält.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 () kann entweder am Anfang (nach einem Ausrufezeichen, falls vorhanden) oder am Ende der charlist sein, um sich selbst abzugleichen.A hyphen () can appear either at the beginning (after an exclamation point, if any) or at the end of charlist to match itself. An einem beliebigen anderen Speicherort identifiziert der Bindestrich einen Zeichenbereich, der durch die Zeichen auf beiden Seiten des Bindestrichs getrennt ist.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 bestimmten Bereichs hängt von der Zeichenfolge zur Laufzeit ab, wie von Option Compare und der Gebiets Schema Einstellung des Systems bestimmt, auf dem 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. Bei Option Compare Binaryentspricht der Bereich [A–E] A, B, C, Dund E.With Option Compare Binary, the range [A–E] matches A, B, C, D, and E. Bei Option Compare Textentspricht [A–E] A, a, À, à, B, b, C, c, D, dund E.eWith Option Compare Text, [A–E] matches A, a, À, à, B, b, C, c, D, d, E, and e. Der Bereich entspricht nicht Ê oder ê, da die Zeichen in der Sortierreihenfolge nach Zeichen mit Zeichen mit Zeichen versehen werden.The range does not match Ê or ê because accented characters collate after unaccented characters in the sort order.

Digraph-ZeichenDigraph Characters

In einigen Sprachen gibt es alphabetische Zeichen, die zwei separate Zeichen darstellen.In some languages, there are alphabetic characters that represent two separate characters. Beispielsweise verwenden mehrere Sprachen das Zeichen æ, um die Zeichen a darzustellen und e, wenn Sie angezeigt werden.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 Digraph-Zeichen und die beiden einzelnen Zeichen gleichwertig sind.The Like operator recognizes that the single digraph character and the two individual characters are equivalent.

Wenn in den Gebiets Schema Einstellungen des Systems eine Sprache verwendet wird, die ein Digraph-Zeichen verwendet, wird ein Vorkommen des einzelnen Digraph-Zeichens in pattern oder string mit der entsprechenden 2-Zeichen-Sequenz in der anderen Zeichenfolge übereinstimmen.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. Entsprechend stimmt ein Digraph-Zeichen in pattern in eckige Klammern (selbst, in einer Liste oder in einem Bereich) mit der entsprechenden 2-Zeichen-Sequenz in stringüberein.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

Der Like-Operator kann überladenwerden. Dies bedeutet, dass eine Klasse oder Struktur das Verhalten neu definieren kann, wenn ein Operand den Typ dieser Klasse oder Struktur aufweist.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 Ihr Code diesen Operator für eine solche Klasse oder Struktur verwendet, stellen Sie sicher, dass Sie das neu definierte 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 Operator Procedures.For more information, see Operator Procedures.

BeispielExample

In diesem Beispiel wird der Like-Operator zum Vergleichen von Zeichen folgen mit verschiedenen Mustern verwendet.This example uses the Like operator to compare strings to various patterns. Die Ergebnisse werden in eine Boolean Variable umgewandelt, die angibt, ob jede Zeichenfolge 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