Jako operátor (Visual Basic)
Porovná řetězec proti vzorek.
result = string Like pattern
Části
result
Povinné.Všechny Boolean proměnné.Výsledkem je Boolean hodnotu určující, zda string splňuje pattern.string
Povinné.Všechny String výraz.pattern
Povinné.Všechny String pojmu úmluv porovnávání podle "Poznámky".
Poznámky
Pokud hodnota v string splňuje vzorek obsažené v pattern, result je True.Řetězec vzorku, nesplňuje-li result je False.Pokud oba string a pattern jsou prázdné řetězce výsledek je True.
Metoda porovnání
Chování Like operátor závisí Možnost porovnat prohlášení.Výchozí metoda porovnání řetězce pro každý zdrojový soubor je Option Compare Binary.
Možnosti vzorek
Vestavěné porovnávání vzorků představuje univerzální nástroj pro porovnávání řetězců.Funkce porovnávání umožňují každého znaku v string proti určitým znakem, zástupný znak, seznam znaků nebo rozsah znaků.Následující tabulka uvádí znaky v pattern a jejich shodu.
Znaky vpattern |
Odpovídástring |
---|---|
? |
Libovolný znak |
* |
Nula nebo více znaků |
# |
Libovolná číslice (0-9) |
[charlist] |
Libovolný znak vcharlist |
[!charlist] |
Jakýkoli znak není vcharlist |
Znak seznamy
Skupina jednoho nebo více znaků (charlist) v závorkách ([ ]) lze nahradit jeden znak v string a může obsahovat téměř jakýkoli kód znaku včetně číslic.
Vykřičník (!) na začátku charlist znamená, že shoda je provedena, pokud libovolný znak kromě znaků v charlist ve string.Při použití vně závorek, vykřičník odpovídá sám.
Speciální znaky
Odpovídající levá závorka speciální znaky ([), otazník (?), znaménko čísla (#) a hvězdička (*), uzavřete je do hranatých závorek.Pravá hranatá závorka (]) nelze použít v rámci skupiny tak, aby odpovídala, ale lze je použít mimo skupinu jako samostatný znak.
Posloupnost znaků [] je považováno za řetězec nulové délky ("").Nelze však část seznamu znaků v závorkách.Chcete-li zkontrolovat, zda pozice v string obsahuje jednu skupinu znaků nebo žádný znak vůbec, můžete použít Like dvakrát.Příklad naleznete v tématu Jak: hledat řetězec proti vzorek (Visual Basic).
Rozsahy znaků
Pomocí pomlčky (–) do samostatných dolní a horní hranicí rozsahu charlist můžete určit rozsah znaků.Například [A–Z] výsledkem shoda, pokud znaku odpovídá umístění v string obsahuje libovolný znak v rozsahu A–Z, a [!H–L] výsledkem odpovídající znak na odpovídající pozici obsahuje jakýkoli znak mimo oblast H–L.
Pokud určíte rozsah znaků, musí být zobrazeny ve vzestupném pořadí, od nejnižší k nejvyšší.Proto [A–Z] je platný vzor, ale [Z–A] není.
Více rozsahy znaků
Chcete-li zadat více rozsahů pro stejné pozice znaku, umístěte je do stejné hranatých závorek bez oddělovačů.Například [A–CX–Z] výsledkem shoda, pokud znaku odpovídá umístění v string obsahuje libovolný znak v rozsahu buď A–C nebo rozsah X–Z.
Využití pomlčka
Pomlčka (–) se mohou objevit na začátku (po vykřičník, pokud existuje) nebo na konci charlist tak, aby odpovídala sám.V umístění určuje pomlčka rozsah znaků, které jsou odděleny znaky na obou stranách pomlčka.
Pořadí řazení
Význam určený rozsah závisí na znak v době spuštění podle pořadí OptionCompare a nastavení národního prostředí systému je spuštěn kód.With OptionCompareBinary, the range [A–E] matches A, B, C, D, and E.With OptionCompareText, [A–E] matches A, a, À, à, B, b, C, c, D, d, E, and e.Oblast neshoduje s Ê nebo ê protože znaky s diakritikou kompletování po znaky bez diakritiky v pořadí řazení.
Spřežka znaků
V některých jazycích jsou znaky abecedy, které představují dva samostatné znaky.Například několik jazyků použijte znak æ představující znaky a a e Jakmile se zobrazí pohromadě.Like Operátor rozpozná spřežka jeden znak a dva jednotlivé znaky jsou ekvivalentní.
Když je jazyk, který používá znak spřežka podle nastavení národního prostředí systému, výskyt spřežka jeden znak v obou pattern nebo string odpovídá odpovídající pořadí dvou znaků v jiný řetězec.Podobně spřežka znak v pattern v závorkách (sám v seznamu nebo v oblasti) odpovídá odpovídající pořadí dvou znaků v string.
Přetěžování
Like Operátor může být přetížení, což znamená, že třídy nebo struktury předefinovat své chování při operand je typu třídy nebo struktury.Pokud váš kód používá tento operátor na tyto třídy nebo struktury, přesvědčete se, že pochopit jeho předefinovaná chování.Další informace naleznete v tématu Operátor postupy (Visual Basic).
Příklad
V tomto příkladu Like operátor porovnání řetězců různých vzorů.Výsledky přejít do Boolean proměnné označující, zda každý řetězec splňuje vzorek.
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*"
Viz také
Úkoly
Jak: hledat řetězec proti vzorek (Visual Basic)
Referenční dokumentace
Operátory porovnání (Visual Basic)
Priority operátorů v jazyce Visual Basic
Operátory uvedené podle funkcí (Visual Basic)