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
, 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 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
, m
ou 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
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.Dans la chaîne de modèle de la première
Like
clause, incluez la liste de caractères, placée entre crochets ([ ]
).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 "#######")