Comment : faire correspondre une chaîne à un modèle

Mise à jour : novembre 2007

Pour savoir si une expression de String Data Type (Visual Basic) 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 droit est une chaîne contenant le modèle à utiliser pour la correspondance. Like retourne une valeur Boolean qui indique si l'expression de chaîne satisfait le modèle.

Vous pouvez faire correspondre chaque caractère de l'expression de chaîne avec 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 masque correspondent aux positions des caractères de correspondance dans l'expression de chaîne.

Pour faire correspondre un caractère de l'expression de chaîne avec un caractère spécifique

  • Mettez directement le caractère spécifique dans la chaîne de masque. Certains caractères spéciaux doivent être entourés par des crochets ([ ]). Pour plus d'informations, consultez Like (opérateur Visual Basic).

    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 de l'expression de chaîne avec un caractère générique

  • Mettez un point d'interrogation (?) dans la chaîne de masque. Tout caractère valide dans cette position est mis en correspondance.

    L'exemple suivant teste si myString se compose du caractère unique W, suivi exactement de deux caractères d'une valeur quelconque.

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

Pour faire correspondre un caractère de l'expression de chaîne avec une liste de caractères

  • Mettez des crochets ([ ]) dans la chaîne de masque, et insérez la liste de caractères à l'intérieur des crochets. Ne séparez pas les caractères par des virgules ou tout autre séparateur. Tout caractère unique de la liste est mis en correspondance.

    L'exemple suivant teste si myString se compose d'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 mise en correspondance respecte la casse.

Pour faire correspondre un caractère de l'expression de chaîne avec une plage de caractères

  • Mettez des crochets ([ ]) dans la chaîne de masque, et à l'intérieur des crochets, mettez les caractères supérieur et inférieur de la plage, séparés par un trait d'union (–). Tout caractère unique de la plage est mis en correspondance.

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

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

    Notez que cette mise en correspondance respecte la casse.

Mise en correspondance de 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 de l'expression de chaîne est vide. Si une position vide est l'une des options que vous devez tester, vous pouvez utiliser Like plusieurs fois.

Pour faire correspondre un caractère de l'expression de chaîne avec 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 avec l'opérateur Or (Visual Basic) ou l'opérateur OrElse.

  2. Dans la chaîne de masque de la première clause Like, incluez la liste de caractères, entourée par des crochets ([ ]).

  3. Dans la chaîne de masque de la deuxième clause Like, ne mettez pas de caractères à la position concernée.

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

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

Voir aussi

Concepts

Opérateurs et expressions en Visual Basic

Référence

Opérateurs de comparaison (Visual Basic)

Like (opérateur Visual Basic)

String, type de données (Visual Basic)