Recherche de certains caractères
dans une chaîne de caractères
syntaxe | (wcmatch chaîne test) |
argument | Chaîne, la chaîne de caractères (string) à tester test, caractère ou suite de caractères à chercher dans la chaîne |
Valeur renvoyée | T, si test valide nil, si test n'est pas valide |
Attention à la différence majuscules/minuscules (casse), |
Le tableau suivant explique les différents caractères de remplacement pour tester une chaîne de caractères :
Caractères |
Français |
Anglais |
commentaire |
# | dièse | pound | Remplace un caractère numérique quelconque |
@ | arobase | at | Remplace un caractère alphabétique quelconque |
. | point | period | Remplace un caractère non alphabétique ni numérique |
* | étoile | asterisk | Remplace une suite de caractères, s'utilise pour chercher un (des) caractère(s) n'importe où dans la chaîne |
? | point d'interrogation | question mark | Remplace un caractère unique peu importe le type par exemple, ?BC remplace ABC, 3BC, |
~ | tilde | tilde | Recherche toutes les chaînes qui ne correspondent pas au critère indiqué par exemple : ~*AB* recherche toutes les chaînes ne contenant pas AB |
[...] | entre crochets | brackets | Recherche l'un des caractères indiqués entre crochets. par exemple : [AB]C recherche AC et BC |
[~...] | tilde et crochets | Tilde and brackets | Correspond à tout caractère unique non compris entre les crochets. par exemple, [~AB]C recherche XC mais pas AC |
- | tiret | hyphen | Pour spécifier une plage de valeur. par exemple, [A-G]C recherche AC, BC, etc., jusqu'à GC, mais pas HC |
, | virgule | comma | Séparateur de champs de test |
` | apostrophe inverse | Reverse quote | Le caractère qui suit l'apostrophe est interprété littéralement. par exemple, `~AB recherche ~AB |
Exemples :
syntaxe | test | résultat |
Est-ce que la chaîne commence par E ? | T | |
Est-ce que la chaîne contient un caractère numérique n'importe où ? | nil | |
Est-ce que la chaîne contient un caractère numérique n'importe où ? | T | |
Est-ce que la chaîne est composée d'un caractère alphabétique et d'un caractère numérique ? | T
|
|
Est-ce que la chaîne est composée d'un caractère alphabétique et d'un caractère numérique ? | nil | |
Est-que la chaîne contient une virgule ?
Notez l'apostrophe devant la virgule pour que cette dernière soit interprétée littéralement et non comme un séparateur. |
T | |
Est-ce que la chaîne contient n'importe quel caractère entre les crochets ? | T | |
Est-ce que la chaîne se termine par un nombre entre 1 et 9 ? | T | |
Est-ce que la chaîne se termine par un nombre entre 1 et 8 ? | nil | |
Est-ce que la chaîne est composée de sept caractères quelconques ? | T | |
Est-ce que la chaîne est composée de trois caractères quelconques ? | nil | |
Est-ce que la chaîne ne contient pas AB ? | T | |
Est-ce que la chaîne ne contient pas AB ? | nil | |
Est-ce que la chaîne est AZE ou BZE ? | T | |
Pour faire un test sur plusieurs conditions, vous pouvez les regrouper dans le même test en séparant les tests par une virgule, toutefois il suffit qu'un seul test soit vrai pour que la valeur renvoyée soit T
syntaxe | test | Valeur renvoyée |
Est-ce que la chaîne contient un z ou bien commence par N | nil | |
Est-ce que la chaîne contient un z ou bien commence par E | T |
Exemple d'application :
Testons si la machine sur laquelle tourne le programme est en 64 bits ou en 32 bits
Une fois chargé ce fichier lisp, en ligne de commande on tape : (test3264)
et le résultat apparaît.
revenir au menu CHAINES DE CARACTÈRES
26 mai 2017