[Func] StringWildcard: filtre simple (avec "*" et "?")

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
David123
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 06 nov. 2013 02:34
Status : Hors ligne

[Func] StringWildcard: filtre simple (avec "*" et "?")

#1

Message par David123 »

La fonction StringWildCard() teste si une chaîne contient des correspondances avec un wildcard (filtre).
Renvoie la (les) correspondances entre la chaîne testée et le filtre (wildcard) donné
Ou 0 si la chaîne ne correspond pas.
"?" peut remplacer un et un seul caractère
"*" peut remplacer n'importe quelle chaîne même vide.
"\" permet d'échapper un caractère spécial : "\*" sera le caractère "*"
"\\" sera le caractère "\".
StringWildCardEscape() échappe tous les caractères spéciaux d'une chaîne.

Evidemment plus pauvre que StringRegExp() mais permet de façon synthétique une comparaison ou extraction rapide de sous-chaînes,
avec une syntaxe intuitive.

Permet notamment de faire entrer un wildcard par l'utilisateur; Il ne connaît peut être pas les expressions régulières de StringRegExp().

Code : Tout sélectionner

StringWildCard($String, $Wildcard, $ReturnArray = 0, $Start = 1, $Occurence = 1, $CaseSensitive = 0)
► Afficher le texteFonction StringWildCard()

Code : Tout sélectionner

Func StringWildCardEscape($String)
Modifié en dernier par David123 le mer. 29 janv. 2014 08:28, modifié 6 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [Func]StringWildcard: filtre simple (avec "*" et "?")

#2

Message par jchd »

Presque !

Code : Tout sélectionner

$result = StringWildCard("answers.txt","ans*.*")
MsgBox(0, "", $result)
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [Func]StringWildcard: filtre simple (avec "*" et "?")

#3

Message par timmalos »

Pour corrriger le problème cité par Jchd il faut changer l'ordre des StringReplace, sinon quand vous remplacez le . par \. l'antislash est ensuite remplacé par \\ ce qui nous donne \\. qui n'est plus la même chose :)
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2272
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [Func]StringWildcard: filtre simple (avec "*" et "?")

#4

Message par jchd »

Argh, tu gâches le plaisir de l'effet "Haha".
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
David123
Niveau 1
Niveau 1
Messages : 2
Enregistré le : mer. 06 nov. 2013 02:34
Status : Hors ligne

Re: [Func] StringWildcard: filtre simple (avec "*" et "?")

#5

Message par David123 »

Corrigé
Répondre