Partager via


Comment : faire correspondre une chaîne à un modèle (Visual Basic)

Si vous souhaitez savoir si une expression du type de chaîne de données satisfait un modèle, vous pouvez utiliser l' Opérateur Like.

Like prend deux opérandes. L’opérande gauche est une expression de chaîne, et l’opérande droit est une chaîne contenant le modèle à utiliser pour la correspondance. Like retourne une valeur Boolean 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 de 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 l’opérateur Like.

L’exemple suivant teste si myString se compose exactement du caractère unique 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 dans cette position fait une correspondance réussie.

L’exemple suivant teste si myString se compose du caractère unique W 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 des 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 de la liste fait une correspondance réussie.

L’exemple suivant teste si myString se compose d’un caractère valide suivi exactement de l’un des caractères A, Cou 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 de la plage, séparés par un trait d’union (). Tout caractère unique de la plage fait 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, k, l, mou n.

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

Notez que cette correspondance respecte la casse.

Chaînes vides correspondantes

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 à 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 aucun caractère

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

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

  3. Dans la chaîne de modèle de la deuxième Like clause, ne placez aucun caractère à la position en question.

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

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

Voir aussi