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

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

Wichtig

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

SyntaxSyntax

result = string Like pattern  

TeileParts

result
Erforderlich.Required. Alle Boolean Variable.Any Boolean variable. Das Ergebnis ist eine Boolean Wert, der 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, beschriebenen Mustervergleichskonventionen entspricht der Mustervergleich in "Hinweise".Any String expression conforming to the pattern-matching conventions described in "Remarks."

HinweiseRemarks

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

Methode zum ZeichenfolgenvergleichComparison Method

Das Verhalten der Like Operator hängt von der Option Compare-Anweisung.The behavior of the Like operator depends on the Option Compare Statement. Ist die Standardmethode für jede Quelldatei Option Compare Binary.The default string comparison method for each source file is Option Compare Binary.

Musteroptionen fürPattern Options

Integrierte Mustervergleich bietet ein vielseitiges Tool für Vergleiche von Zeichenfolgen.Built-in pattern matching provides a versatile tool for string comparisons. Der Musterabgleich 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 womit sie übereinstimmen.The following table shows the characters allowed in pattern and what they match.

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

ZeichenlistenCharacter Lists

Eine Gruppe von ein oder mehrere Zeichen (charlist) in eckige Klammern eingeschlossen ([ ]) kann verwendet werden, um einem beliebigen einzelnen Zeichen entspricht string und kann beinahe jeder 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 ein beliebiges Zeichen, mit Ausnahme der Zeichen in 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 Sie außerhalb der Klammern verwendet, entspricht das Ausrufezeichen selbst.When used outside brackets, the exclamation point matches itself.

SonderzeichenSpecial Characters

Entsprechend Sonderzeichen für die öffnende Klammer ([), Fragezeichen (?), Nummernzeichen (#), und das Sternchen (*), schließen Sie sie in Klammern.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, entsprechend selbst, aber es kann als ein einzelnes Zeichen außerhalb einer Gruppe 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 als eine Zeichenfolge der Länge 0 (null) ("").The character sequence [] is considered a zero-length string (""). Es kann nicht jedoch, der ein Zeichen enthalten, die in eckige Klammern eingeschlossen sein.However, it cannot be part of a character list enclosed in brackets. Sollten Sie prüfen, ob eine Position im string enthält mindestens ein von einer Gruppe von Zeichen oder keine Zeichen im Vorfeld für alle, 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 Gewusst 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 untere und obere Grenze 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. Z. B. [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 die 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. Daher [A–Z] ist ein gültiges Muster, sondern [Z–A] nicht.Thus, [A–Z] is a valid pattern, but [Z–A] is not.

Mehrere ZeichenbereicheMultiple Character Ranges

Wenn mehrere Bereiche für die gleiche Position angeben möchten, fügen Sie sie innerhalb der gleichen Klammern ohne Trennzeichen ein.To specify multiple ranges for the same character position, put them within the same brackets without delimiters. Z. B. [A–CX–Z] ergibt eine Übereinstimmung, wenn die entsprechende in Zeichenposition string enthält alle Zeichen im Bereich entweder AC oder den 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.

Verwenden des BindestrichsUsage of the Hyphen

Ein Bindestrich () kann auftreten, entweder am Anfang (nach einem Ausrufezeichen, sofern vorhanden) oder am Ende der charlist entsprechend selbst.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 beliebigen anderen Ort identifiziert der Bindestrich einen Bereich von Zeichen, die durch die Zeichen auf beiden Seiten des Bindestrichs getrennt.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 ist abhängig 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, den 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 entspricht nicht Ê oder ê da Zeichen mit Akzent nach Zeichen 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 Sie 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 zwei einzelne Zeichen entsprechen.The Like operator recognizes that the single digraph character and the two individual characters are equivalent.

Wenn eine Sprache, die ein Zeichen Digraph verwendet in die Einstellungen für das Gebietsschema angegeben wird, ein Vorkommen des Zeichens in einem einzelnen Digraph pattern oder string entspricht der entsprechende Sequenz von zwei Zeichen in die andere Zeichenfolge.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 eckige Klammern eingeschlossen (allein in einer Liste oder in einem Bereich) entspricht in der entsprechenden 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 möglich überladen, was bedeutet, dass eine Klasse oder Struktur sein Verhalten definieren kann, wenn ein Operand den Typ der 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 Ihr Code dieser Operator für diese eine Klasse oder Struktur verwendet, achten Sie darauf, dass Sie verstehen, dass das neu definierte Verhalten.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

Dieses Beispiel verwendet die Like Operator zum Vergleichen von Zeichenfolgen mit verschiedenen Mustern.This example uses the Like operator to compare strings to various patterns. Die Ergebnisse werden in einem Boolean Variable, der 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