Partager via


Guide pratique pour faire correspondre une chaîne à un modèle (Visual Basic)

Si vous souhaitez savoir si une expression du type de données string satisfait à un modèle, vous pouvez utiliser l’opérateur Like.

Like accepte deux opérandes. L’opérande gauche est une expression de chaîne, et l’opérande droite est une chaîne contenant le modèle à utiliser pour la correspondance. Like retourne une Boolean valeur indiquant si l’expression de chaîne satisfait au modèle.

Vous pouvez faire correspondre chaque caractère dans l’expression de chaîne par rapport à un caractère spécifique, un caractère générique, une liste de caractères ou une plage de caractères. Les positions des spécifications dans la chaîne de modèle correspondent aux positions des caractères à mettre en correspondance dans l’expression de chaîne.

Pour faire correspondre un caractère dans l’expression de chaîne à un caractère spécifique

Placez le caractère spécifique directement dans la chaîne de modèle. Certains caractères spéciaux doivent être placés entre crochets ([ ]). Pour plus d’informations, consultez Like Operator.

L’exemple suivant teste si myString se compose exactement du seul caractère H.

Dim sMatch As Boolean = myString Like "H"

Pour faire correspondre un caractère dans l’expression de chaîne à un caractère générique

Placez un point d’interrogation (?) dans la chaîne de modèle. Tout caractère valide à cette position entraîne une correspondance réussie.

L’exemple suivant teste si myString se compose du caractère W unique suivi exactement de deux caractères de toutes les valeurs.

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

Pour faire correspondre un caractère dans l’expression de chaîne à une liste de caractères

Placez les crochets ([ ]) dans la chaîne de motif et, à l’intérieur des crochets, placez la liste des caractères. Ne séparez pas les caractères par des virgules ou tout autre séparateur. Tout caractère unique figurant dans la liste entraîne une correspondance réussie.

L'exemple suivant teste si myString consiste en un caractère valide suivi exactement de l'un des caractères A, C ou E.

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

Notez que cette correspondance respecte la casse.

Pour faire correspondre un caractère dans l’expression de chaîne à une plage de caractères

Placez les crochets ([ ]) dans la chaîne de motif et, à l’intérieur des crochets, placez les caractères les plus bas et les plus élevés dans la plage, séparés par un trait d’union (). Tout caractère unique compris dans la plage entraîne une correspondance réussie.

L’exemple suivant teste si myString se compose des caractères num suivis exactement de l’un des caractères i, , j, kl, m, ou n.

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

Notez que cette correspondance respecte la casse.

Correspondance avec des chaînes vides

Like traite la séquence [] comme une chaîne de longueur nulle (""). Vous pouvez utiliser [] pour tester si l’expression de chaîne entière est vide, mais vous ne pouvez pas l’utiliser pour tester si une position particulière dans l’expression de chaîne est vide. Si une position vide est l’une des options dont vous avez besoin pour tester, vous pouvez utiliser Like plusieurs fois.

Pour faire correspondre un caractère dans l’expression de chaîne à une liste de caractères ou à l’absence de caractère

  1. Appelez l’opérateur Like deux fois sur la même expression de chaîne et connectez les deux appels avec l’opérateur Or ou l’opérateur OrElse.

  2. Dans la chaîne de modèle pour la première Like clause, incluez la liste de caractères entre crochets ([ ]).

  3. Dans la chaîne de modèle pour la deuxième clause Like, ne placez aucun caractère à la position concernée.

    L’exemple suivant teste le numéro phoneNum de téléphone à sept chiffres pour exactement trois chiffres, suivis d’un espace, d’un trait d’union (), d’un point (.ou d’aucun caractère du tout), suivi de quatre chiffres numériques exactement.

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

Voir aussi