Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Vergleicht eine Zeichenfolge mit einem Muster.
Von Bedeutung
Der Like Operator wird derzeit in .NET Core- und .NET Standard-Projekten nicht unterstützt.
Syntax
result = string Like pattern
Bestandteile
result
Erforderlich. Eine beliebige Boolean Variable. Das Ergebnis ist ein Boolean Wert, der angibt, ob der Wert der patternstring .
string
Erforderlich. Ein beliebiger String Ausdruck.
pattern
Erforderlich. Jeder String Ausdruck entspricht den Musterabgleichskonventionen, die in "Hinweise" beschrieben sind.
Bemerkungen
Entspricht der Wert string dem in pattern, result ist True. Wenn die Zeichenfolge das Muster nicht erfüllt, result lautet False. Wenn beide string Zeichenfolgen leer sind, pattern lautet Truedas Ergebnis .
Vergleichsmethode
Das Verhalten des Like Operators hängt von der Option Compare-Anweisung ab. Die Standard-Zeichenfolgenvergleichsmethode für jede Quelldatei lautet Option Compare Binary.
Musteroptionen
Der integrierte Musterabgleich bietet ein vielseitiges Tool für Zeichenfolgenvergleiche. Mit den Musterabgleichsfeatures können Sie jedes Zeichen in string mit einem bestimmten Zeichen, einem Platzhalterzeichen, einer Zeichenliste oder einem Zeichenbereich abgleichen. In der folgenden Tabelle sind die in pattern zulässigen Zeichen und die Übereinstimmungen aufgeführt.
Zeichen in pattern |
Übereinstimmungen in string |
|---|---|
? |
Ein beliebiges einzelnes Zeichen |
* |
Kein oder mehrere Zeichen |
# |
Eine beliebige einstellige Zahl (0–9) |
[charlist] |
Ein beliebiges einzelnes Zeichen in charlist |
[!charlist] |
Ein beliebiges einzelnes Zeichen, das nicht in charlist ist |
Zeichenlisten
Eine Gruppe von mindestens einem Zeichen (charlist), die in eckige Klammern ([ ]) eingeschlossen ist, kann verwendet werden, um jedem einzelnen Zeichen in string und kann fast jeden Zeichencode enthalten, einschließlich Ziffern.
Ein Ausrufezeichen (!) am Anfang von charlist bedeutet, dass eine Übereinstimmung erfolgt, wenn ein beliebiges Zeichen außer den Zeichen in charliststringgefunden wird. Bei Verwendung außerhalb von eckigen Klammern entspricht das Ausrufezeichen sich selbst.
Sonderzeichen
Um den Sonderzeichen in eckigen Klammern ([), Fragezeichen (?), Nummernzeichen () und Sternchen (#*) zu entsprechen, schließen Sie sie in eckige Klammern ein. Die rechte Klammer (]) kann nicht innerhalb einer Gruppe verwendet werden, um sich selbst abzugleichen, aber sie kann außerhalb einer Gruppe als einzelnes Zeichen verwendet werden.
Die Zeichenfolge [] wird als leere Zeichenfolge ("") betrachtet. Es kann jedoch nicht Teil einer in Klammern eingeschlossenen Zeichenliste sein. Wenn Sie überprüfen möchten, ob eine Position in string einer Gruppe von Zeichen oder gar kein Zeichen enthält, können Sie zweimal verwenden Like . Ein Beispiel finden Sie unter How to: Match a String against a Pattern.
Zeichenbereiche
Wenn Sie einen Bindestrich (–) verwenden, um die unteren und oberen Grenzen des Bereichs zu trennen, charlist können Sie einen Zeichenbereich angeben. Führt z. B. zu einer Übereinstimmung, [A–Z] wenn die entsprechende Zeichenposition ein string beliebiges Zeichen innerhalb des Bereichs Aenthält ,Z und [!H–L] führt zu einer Übereinstimmung, wenn die entsprechende Zeichenposition ein beliebiges Zeichen außerhalb des Bereichs Henthält .L
Wenn Sie einen Bereich von Zeichen angeben, müssen sie in aufsteigender Sortierreihenfolge angezeigt werden, d. h. von der niedrigsten bis zur höchsten.
[A–Z] Daher ist ein gültiges Muster, aber [Z–A] nicht.
Mehrere Zeichenbereiche
Wenn Sie mehrere Bereiche für dieselbe Zeichenposition angeben möchten, platzieren Sie sie in derselben Klammer ohne Trennzeichen. Führt beispielsweise zu einer Übereinstimmung, [A–CX–Z] wenn die entsprechende Zeichenposition ein string beliebiges Zeichen innerhalb des Bereichs AoderC des Bereichs XZenthält.
Verwendung des Bindestrichs
Ein Bindestrich (–) kann entweder am Anfang (nach einem Ausrufezeichen, falls vorhanden) oder am Ende der charlist Übereinstimmung mit sich selbst angezeigt werden. An einer anderen Position identifiziert der Bindestrich einen Bereich von Zeichen, der durch die Zeichen auf beiden Seiten des Bindestrichs getrennt ist.
Sortierreihenfolge
Die Bedeutung eines angegebenen Bereichs hängt von der Zeichenordnung zur Laufzeit ab, wie sie bestimmt Option Compare wird, und von der Gebietsschemaeinstellung des Systems, auf dem der Code ausgeführt wird. Mit Option Compare Binary, der Bereich [A–E] entspricht A, , B, C, Dund E. Mit Option Compare Text, Übereinstimmungen A[A–E] , , àÀaDcdbCB, , und . Ee Der Bereich stimmt nicht überein Ê oder ê liegt daran, dass akzentierte Zeichen nach nicht abgeglichenen Zeichen in der Sortierreihenfolge sortiert werden.
Digraph-Zeichen
In einigen Sprachen gibt es alphabetische Zeichen, die zwei separate Zeichen darstellen. Beispielsweise verwenden mehrere Sprachen das Zeichen æ , um die Zeichen a darzustellen, und e wenn sie zusammen angezeigt werden. Der Like Operator erkennt, dass das einzelne Digraphzeichen und die beiden einzelnen Zeichen gleichwertig sind.
Wenn eine Sprache, die ein Digraphzeichen verwendet, in den Gebietsschemaeinstellungen des Systems angegeben wird, wird ein Vorkommen des einzelnen Digraphzeichens in der pattern anderen Zeichenfolge entweder oder string mit der entsprechenden zweistelligen Sequenz in der anderen Zeichenfolge übereinstimmen. Ebenso entspricht ein Digraphzeichen in pattern Klammern (selbst, in einer Liste oder in einem Bereich) der entsprechenden zweistelligen Sequenz in string.
Überladen
Der Like Operator kann überladen werden, was bedeutet, dass eine Klasse oder Struktur ihr Verhalten neu definieren kann, wenn ein Operand den Typ dieser Klasse oder Struktur aufweist. Wenn Ihr Code diesen Operator für eine solche Klasse oder Struktur verwendet, stellen Sie sicher, dass Sie das neu definierte Verhalten verstehen. Weitere Informationen finden Sie unter Operatorprozeduren.
Beispiel
In diesem Beispiel wird der Like Operator verwendet, um Zeichenfolgen mit verschiedenen Mustern zu vergleichen. Die Ergebnisse werden in eine Boolean Variable umgewandelt, die angibt, ob jede Zeichenfolge dem Muster entspricht.
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*"