Delen via


Handleiding: Een tekenreeks vergelijken met een patroon (Visual Basic)

Als u wilt weten of een expressie van het gegevenstype Tekenreeks voldoet aan een patroon, kunt u de Operator Like gebruiken.

Like neemt twee operanden. De linkeroperand is een tekenreeksexpressie en de rechteroperand is een tekenreeks die het patroon bevat dat moet worden gebruikt voor vergelijking. Like retourneert een Boolean waarde die aangeeft of de tekenreeksexpressie voldoet aan het patroon.

U kunt elk teken in de tekenreeksexpressie vergelijken met een specifiek teken, een jokerteken, een lijst met tekens of een tekenbereik. De posities van de specificaties in de patroontekenreeks komen overeen met de posities van de tekens die moeten worden vergeleken in de tekenreeksexpressie.

Een teken in de tekenreeksexpressie vergelijken met een specifiek teken

Plaats het specifieke teken rechtstreeks in de patroontekenreeks. Bepaalde speciale tekens moeten tussen vierkante haken ([ ]) worden geplaatst. Zie Like Operator voor meer informatie.

In het volgende voorbeeld wordt getest of myString deze exact bestaat uit één teken H.

Dim sMatch As Boolean = myString Like "H"

Om een teken in de tekenreeksexpressie te vergelijken met een jokerteken

Plaats een vraagteken (?) in de patroontekenreeks. Elk geldig teken op deze positie resulteert in een succesvolle match.

In het volgende voorbeeld wordt getest of myString uit het enkele teken W bestaat, gevolgd door exact twee tekens van willekeurige waarden.

Dim sMatch As Boolean = myString Like "W??"

Een teken in de tekenreeksexpressie vergelijken met een lijst met tekens

Plaats vierkante haken ([ ]) in de patroontekenreeks en plaats de lijst met tekens tussen de vierkante haken. Scheid de tekens niet met komma's of een ander scheidingsteken. Elk afzonderlijk teken in de lijst zorgt voor een succesvolle overeenkomst.

In het volgende voorbeeld wordt getest of myString het bestaat uit een geldig teken, gevolgd door precies een van de tekens A, Cof E.

Dim sMatch As Boolean = myString Like "?[ACE]"

Houd er rekening mee dat deze match hoofdlettergevoelig is.

Een teken in de tekenreeksexpressie vergelijken met een bereik van tekens

Plaats vierkante haakjes ([ ]) in de patroontekenreeks en zet binnen de haakjes het laagste en hoogste teken in het bereik, gescheiden door een koppelteken (). Elk enkel teken binnen het bereik is een succesvolle match.

In het volgende voorbeeld wordt getest of myString het bestaat uit de tekens num gevolgd door precies een van de tekensi, , jk, , l, of mn.

Dim sMatch As Boolean = myString Like "num[i-m]"

Houd er rekening mee dat deze match hoofdlettergevoelig is.

Overeenkomende lege tekenreeksen

Like behandelt de reeks [] als een tekenreeks met lengte nul (""). U kunt [] gebruiken om te testen of de hele tekenreeksexpressie leeg is, maar u kunt het niet gebruiken om te testen of een bepaalde positie in de tekenreeksexpressie leeg is. Als een lege positie een van de opties is waarvoor u moet testen, kunt u meerdere keren gebruiken Like .

Een teken in de tekenreeksexpressie vergelijken met een lijst met tekens of geen teken

  1. Roep de Like operator tweemaal aan op dezelfde tekenreeksexpressie en verbind de twee aanroepen met de operator Or of de Operator OrElse.

  2. Neem in de patroontekenreeks voor de eerste Like clausule de tekenlijst op tussen vierkante haken ([ ]).

  3. Plaats in de patroontekenreeks voor de tweede Like component geen teken op de betreffende positie.

    In het volgende voorbeeld wordt het zevencijferige telefoonnummer phoneNum getest op exact drie numerieke cijfers, gevolgd door een spatie, een afbreekstreepje (), een punt (.) of helemaal geen teken, gevolgd door exact vier numerieke cijfers.

    Dim sMatch As Boolean = 
      (phoneNum Like "###[ -.]####") OrElse (phoneNum Like "#######")
    

Zie ook