Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Pokud chcete zjistit, jestli výraz datového typu String splňuje vzor, můžete použít operátor Like.
Like přijímá dva operandy. Levý operand je řetězcový výraz a pravý operand je řetězec obsahující vzor, který se má použít pro porovnávání.
Like
Boolean vrátí hodnotu určující, zda řetězcový výraz splňuje vzor.
Jednotlivé znaky ve výrazu řetězce můžete spárovat s určitým znakem, zástupným znakem, seznamem znaků nebo oblastí znaků. Pozice specifikací ve vzorovém řetězci odpovídají pozicím znaků, které se mají shodovat ve výrazu řetězce.
Porovnat znak ve výrazu řetězce s konkrétním znakem
Vložte konkrétní znak přímo do řetězce vzoru. Některé speciální znaky musí být uzavřeny v hranatých závorkách ([ ]). Další informace naleznete v tématu Like – operátor.
Následující příklad testuje, zda myString se skládá přesně z jednoho znaku H.
Dim sMatch As Boolean = myString Like "H"
Aby bylo možné porovnat znak ve výrazu řetězce se zástupným znakem
Vložte do řetězce vzoru otazník (?). Jakýkoli platný znak v této pozici vytvoří úspěšnou shodu.
Následující příklad testuje, zda myString se skládá z jednoho znaku W následovaného přesně dvěma znaky všech hodnot.
Dim sMatch As Boolean = myString Like "W??"
Chcete-li porovnat znak ve výrazovém řetězci se seznamem znaků
Vložte do řetězce vzoru závorky ([ ]) a do závorek umístěte seznam znaků. Neoddělujte znaky čárkami ani žádným jiným oddělovačem. Každý jeden znak v seznamu provede úspěšnou shodu.
Následující příklad testuje, zda myString se skládá z libovolného platného znaku následovaného přesně jedním z znaků A, Cnebo E.
Dim sMatch As Boolean = myString Like "?[ACE]"
Všimněte si, že tato shoda je citlivá na velká a malá písmena.
Porovnat znak ve výrazu řetězce s rozsahem znaků
Vložte do řetězce vzoru závorky ([ ]) a do závorek vložte nejnižší a nejvyšší znaky v oblasti oddělené pomlčkou (–). Jakýkoliv jediný znak v rozsahu splní podmínku úspěšné shody.
Následující příklad testuje, zda myString se skládá z znaků num následovaných přesně jedním z znaků i, , j, k, l, mnebo n.
Dim sMatch As Boolean = myString Like "num[i-m]"
Všimněte si, že tato shoda je citlivá na velká a malá písmena.
Porovnávání prázdných řetězců
Like považuje sekvenci [] za řetězec nulové délky (""). Můžete použít [] k otestování, jestli je celý řetězcový výraz prázdný, ale nemůžete ho použít k otestování, jestli je konkrétní pozice ve výrazu řetězce prázdná. Pokud je prázdná pozice jednou z možností, pro kterou potřebujete testovat, můžete použít Like více než jednou.
Porovnat znak v řetězci se seznamem znaků nebo bez znaku
Volání operátoru
Likedvakrát ve stejném řetězcovém výrazu a spojení těchto dvou volání operátorem Or nebo Operátorem OrElse.Do řetězce vzoru pro první
Likeklauzuli uveďte seznam znaků uzavřený v hranatých závorkách ([ ]).V řetězci vzoru pro druhou
Likeklauzuli nevkládejte žádný znak na danou pozici.Následující příklad testuje sedmimístné telefonní číslo
phoneNumpro přesně tři číselné číslice, následované mezerou, spojovníkem (–), tečkou (.) nebo žádným znakem, následovaným přesně čtyřmi číselnými číslicemi.Dim sMatch As Boolean = (phoneNum Like "###[ -.]####") OrElse (phoneNum Like "#######")