Delen via


Procedure: 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"

Een teken in de tekenreeksexpressie vergelijken met een jokerteken

Plaats een vraagteken (?) in de patroontekenreeks. Elk geldig teken in deze positie maakt een geslaagde overeenkomst.

In het volgende voorbeeld wordt getest of myString het uit één teken W bestaat, gevolgd door exact twee tekens van 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 willekeurig teken in de lijst maakt een geslaagde 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 overeenkomst hoofdlettergevoelig is.

Een teken in de tekenreeksexpressie vergelijken met een bereik van tekens

Plaats vierkante haken ([ ]) in de patroontekenreeks en plaats de laagste en hoogste tekens in het bereik, gescheiden door een afbreekstreepje (). Elk willekeurig teken binnen het bereik maakt een geslaagde overeenkomst.

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

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

Houd er rekening mee dat deze overeenkomst 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 deze 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 component 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