Table of contents
TOC
Réduire la table des matières
Développer la table des matières

Like, opérateurLike Operator

office 365 dev account|Dernière mise à jour: 14/03/2018
|
2 Collaborateurs

Permet de comparer deux chaînes.Used to compare two strings.

SyntaxeSyntax

résultat=chaînecommemodèleresult=stringLikepattern

La syntaxe de l’opérateur Like comprend les éléments suivants :The Like operator syntax has these parts:

ÉlémentPartDescriptionDescription
résultatresultObligatoire ; toute variablenumérique.Required; any numeric variable.
stringstringObligatoire ; toute expression de chaîne.Required; any string expression.
modèlepatternObligatoire. Toute expression de chaîne respectant les conventions décrites dans les remarques.Required; any string expression conforming to the pattern-matching conventions described in Remarks.

RemarquesRemarks

Si la chaîne correspond au modèle, le résultat est True; Si aucune correspondance n’est trouvée, le résultat est False.If string matches pattern, result is True; if there is no match, result is False.Si string ou pattern estNull, le résultat est Null.If either string or pattern isNull, result is Null.
Le comportement de l’opérateur Like dépend de l’instruction Option Compare .The behavior of the Like operator depends on the Option Compare statement.La méthode decomparaison de chaînes par défaut pour chaquemodule est Option CompareBinary.The defaultstring-comparison method for eachmodule is Option CompareBinary.

Option Compare Binary génère des comparaisons de chaînes basées sur unordre de tri dérivé des représentations binaires internes des caractères.Option Compare Binary results in string comparisons based on asort order derived from the internal binary representations of the characters.Ordre de tri est déterminé par la page de code.Sort order is determined by the code page.Dans l’exemple suivant, un ordre de tri binaire standard est affiché :In the following example, a typical binary sort order is shown:
A < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < øA < B < E < Z < a < b < e < z < À < Ê < Ø < à < ê < ø

Option Compare Text génère des comparaisons de chaînes basées sur un ordre de tri de texte respectant la casse déterminé par le de votre systèmeaux paramètres régionaux.Option Compare Text results in string comparisons based on a case-insensitive, textual sort order determined by your system'slocale.Lorsque vous triez les mêmes caractères à l’aide de Option Compare Text, l’ordre de tri de texte suivant est généré :When you sort the same characters using Option Compare Text, the following text sort order is produced:
(A=a) < (À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)(A=a) < (À=à) < (B=b) < (E=e) < (Ê=ê) < (Z=z) < (Ø=ø)

Les critères spéciaux intégrés de fournit un outil polyvalent pour les comparaisons de chaînes.Built-in pattern matching provides a versatile tool for string comparisons.Les fonctionnalités de critères spéciaux vous permettent de vous permet d’utiliser des caractères génériques, des listes de caractères ou des plages de caractères, dans n’importe quelle combinaison, pour comparer des chaînes.The pattern-matching features allow you to use wildcard characters, character lists, or character ranges, in any combination, to match strings.Le tableau suivant montre les caractères autorisés dans pattern et ce à quoi ils correspondent :The following table shows the characters allowed in pattern and what they match:

Caractères dans patternCharacters in patternCorrespondances de chaîneMatches in string
?Tout caractère unique.Any single character.
\*Aucun ou plusieurs caractères.Zero or more characters.
#N’importe quel chiffre unique (0-9).Any single digit (0-9).
[ charlist ][ charlist ]Tout caractère unique figurant dans charlist.Any single character in charlist.
[ !charlist ][ !charlist ]Tout caractère unique figurant dans charlist_pas.Any single character not in _charlist.

Un groupe d’un ou plusieurs caractères ( listecar ) encadrés par des crochets ( [] ) peut être utilisé pour le correspond à tout caractère unique dans string et peut inclure de pratiquement n’importe quelcode de caractère, y compris les chiffres.A group of one or more characters ( charlist ) enclosed in brackets ( [ ] ) can be used to match any single character in string and can include almost anycharacter code, including digits.

Remarque Pour mettre en correspondance le caractères spéciaux crochet ( [ ), point d’interrogation ( ? **Note To match the special characters left bracket ( [ ), question mark ( ?), signe dièse ( # ) et l’astérisque ( \* ), placez-les entre crochets.), number sign ( # ), and asterisk ( \* ), enclose them in brackets.Le crochet droit fermant ([ ] ) ne peut pas être utilisé au sein d’un groupe pour se représenter lui-même, mais il peut être utilisé en dehors d’un groupe de caractères.The right bracket ( ] ) can't be used within a group to match itself, but it can be used outside a group as an individual character.

À l’aide d’un trait d’union ( - ) pour séparer les limites inférieures et supérieures de la plage, charlist peut préciser une plage de caractères.By using a hyphen ( - ) to separate the upper and lower bounds of the range, charlist can specify a range of characters.Par exemple, [A-Z] génère une correspondance si la position du caractère correspondante dans string contient une lettre majuscule comprise dans la plage A-Z.For example, [A-Z] results in a match if the corresponding character position in string contains any uppercase letters in the range A-Z.Plusieurs plages sont comprises dans les crochets sans délimiteurs.Multiple ranges are included within the brackets without delimiters.La signification d’une plage spécifiée dépend de l’ordre valide au moment de l’exécution (comme défini par Option Compare et les paramètresrégionaux du système, que le code est en cours d’exécution) des caractères.The meaning of a specified range depends on the character ordering valid at run time (as determined by Option Compare and thelocale setting of the system the code is running on).À l’aide de l’exemple Option Compare Binary , la plage [A-E] correspond à A, B et e. Avec Option Compare Text, [A-E] correspond à A, a, À, à, B, b, E, e.Using the Option Compare Binary example, the range [A-E] matches A, B and E. With Option Compare Text, [A-E] matches A, a, À, à, B, b, E, e.La plage ne correspond pas à Ê ou ê parce que les caractères accentués tombent après les caractères inaccentués dans l’ordre de tri.The range does not match Ê or ê because accented characters fall after unaccented characters in the sort order.Les autres règles importantes qui régissent l’utilisation de critères spéciaux sont les suivantes :Other important rules for pattern matching include the following:

  • Un point d’exclamation ( !An exclamation point ( !) au début de charlist signifie qu’une correspondance est trouvée si tous les caractères excepté ceux présents dans listecar se trouve dans la chaîne.) at the beginning of charlist means that a match is made if any character except the characters in charlist is found in string.Utilisé hors des crochets, le point d’exclamation correspond à lui-même.When used outside brackets, the exclamation point matches itself.

  • Un trait d’union ( - ) peut apparaître soit au début (après un point d’exclamation), soit à la fin de charlist pour correspondre à lui-même.A hyphen ( - ) can appear either at the beginning (after an exclamation point if one is used) or at the end of charlist to match itself.Dans tout autre endroit, le trait d’union est utilisé pour identifier une plage de caractères.In any other location, the hyphen is used to identify a range of characters.

  • Lorsqu’une plage de caractères est spécifiée, ils doivent apparaître dans l’ordre croissant (du plus bas au plus élevé).When a range of characters is specified, they must appear in ascending sort order (from lowest to highest).[A-Z]est un modèle valide, mais [Z-A] n’est pas.[A-Z] is a valid pattern, but [Z-A] is not.

  • La séquence de caractères [] est considéré comme une chaîne de longueur nulle ( » »).The character sequence [] is considered a zero-length string ("").

Dans certaines langues, il existe des caractères spéciaux de l’alphabet représentent deux caractères séparés.In some languages, there are special characters in the alphabet that represent two separate characters.Par exemple, plusieurs langues utilisent le caractère « æ » pour représenter les caractères « a » et « e » lorsqu’ils apparaissent ensemble.For example, several languages use the character "æ" to represent the characters "a" and "e" when they appear together.L’opérateur Like reconnaît que ce caractère spécial et les deux caractères individuels sont équivalents.The Like operator recognizes that the single special character and the two individual characters are equivalent.Lorsqu’une langue qui utilise un caractère spécial est spécifiée dans les paramètres régionaux du système, une occurrence du caractère spécial unique dans pattern ou string correspond à la séquence de 2 caractères équivalente dans l’autre chaîne.When a language that uses a special character is specified in the system locale settings, an occurrence of the single special character in either pattern or string matches the equivalent 2-character sequence in the other string.De même, un caractère spécial unique dans pattern placé entre crochets droits (seul, dans une liste ou dans une plage) correspond à la séquence équivalente de 2 caractères dans la chaîne.Similarly, a single special character in pattern enclosed in brackets (by itself, in a list, or in a range) matches the equivalent 2-character sequence in string.

ExempleExample

Cet exemple utilise l’opérateur Like pour comparer une chaîne à un modèle.This example uses the Like operator to compare a string to a pattern.

Dim MyCheck
MyCheck = "aBBBa" Like "a*a"    ' Returns True.
MyCheck = "F" Like "[A-Z]"    ' Returns True.
MyCheck = "F" Like "[!A-Z]"    ' Returns False.
MyCheck = "a2a" Like "a#a"    ' Returns True.
MyCheck = "aM5b" Like "a[L-P]#[!c-e]"    ' Returns True.
MyCheck = "BAT123khg" Like "B?T*"    ' Returns True.
MyCheck = "CAT123khg" Like "B?T*"    ' Returns False.
MyCheck = "ab" Like "a*b"    ' Returns True.
MyCheck = "a*b" Like "a[*]b"    ' Returns True.
MyCheck = "axxxxxb" Like "a[*]b"    ' Returns False.
MyCheck = "a[xyz" Like "a[[]*"    ' Returns True.
MyCheck = "a[xyz" Like "a[*"    ' Throws Error 93 (invalid pattern string).
© 2018 Microsoft