[R] Recherche "spécial" dans un tableau

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
richie6700
Niveau 4
Niveau 4
Messages : 57
Enregistré le : ven. 21 janv. 2011 16:22
Status : Hors ligne

[R] Recherche "spécial" dans un tableau

#1

Message par richie6700 »

Bonjour à vous!!

Serait il possible de m'aidé??

Voici mon petit soucis :

J'ai un tableau du style :

groupe 1
groupe 12
groupe 121
groupe 2
groupe 7
groupe 71
groupe 735
ect ect

J'aurais voulu (en créant un autre tableau par exemple) ne lister que les groupe qui commence par groupe X YYY. Par exemple :
si je prend groupe 1, j'aimerais avoir un tableau qui n'indiquerer que :
groupe 1
groupe 12
groupe 121

Voila j'espère m'être bien fait comprendre....

Merci d'avance
Richie
Modifié en dernier par richie6700 le lun. 16 mai 2011 17:09, modifié 1 fois.
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [...] Recherche "spécial" dans un tableau

#2

Message par zeshrek »

tu as regardé du coté de _arraysearch ou _arrayfindall ?
Si vis pacem para bellum
richie6700
Niveau 4
Niveau 4
Messages : 57
Enregistré le : ven. 21 janv. 2011 16:22
Status : Hors ligne

Re: [...] Recherche "spécial" dans un tableau

#3

Message par richie6700 »

Salut merci de ta réponse.

Mais je vois pas trop comment je peux faire avec Arraysearch.... Se serait possible d'utiliser le caratère "*"????


Ah oui... je ne suis pas très bon en développement....
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [...] Recherche "spécial" dans un tableau

#4

Message par matwachich »

Code : Tout sélectionner

StringInStr($ElemTableau[$i], "groupe 1")
Ou encore:

Code : Tout sélectionner

StringRegExp($ElemTableau[$i], 'groupe 1\d{0,}')
PS: Je suis pas sur du RegExp, et j'ai pas AutoIt sur ce PC pour testé!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Recherche "spécial" dans un tableau

#5

Message par ZDS »

Bonjour !

La regexp est bonne, pas de souci.
Pour le reste de l'algo, il ne reste à faire qu'une une boucle toute simple.
► Afficher le texteScript
Voili voilou, je pense que tu t'en sortiras avec ça.

A bientôt !
Modifié en dernier par ZDS le lun. 16 mai 2011 16:52, modifié 1 fois.
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
zeshrek
Niveau 10
Niveau 10
Messages : 984
Enregistré le : mer. 17 nov. 2010 09:31
Localisation : Sur ma chaise
Status : Hors ligne

Re: [...] Recherche "spécial" dans un tableau

#6

Message par zeshrek »

Sinon, tiens, du tout cuit :

Code : Tout sélectionner

#include <Array.au3>

; on prépare un tableau avec 150 entrées aléatoires histoire d'avoir qqchose a chercher
dim $Array[151]
for $i = 0 to 150
    $Array[$i] = "Groupe "&Random(1,500,1)
Next
; on te demande ce que tu veux (là il faut juste taper les chiffres, donc pour reprendre ton exemple : 1, ou 25...etc
$search= InputBox("","Début du n° du groupe a trouver")

; on prépare le tableau pour la sortie de ce qu'on trouve
; colonne 1 le N° d'index du tableau d'origine, colonne 2 le nom de groupe trouvé
$nbrec = 1
dim $trouve[1][2]
$trouve[0][0]="N° dans 'Array'"
$trouve[0][1]="Nom du groupe"

; et là on cherche a la mimine en parsant le tableau, et en en replissant le second au fur et a mesure
for $i =0 to Ubound($Array)-1
    if StringLeft($Array[$i],stringlen("Groupe "&$search))="Groupe "&$search Then
        redim $trouve[$nbrec+1][2]
        $trouve[$nbrec][0]=$i
        $trouve[$nbrec][1]=$Array[$i]
        $nbrec=$nbrec+1
    EndIf
Next

; pour finir, on affiche le résultat
_ArrayDisplay($trouve, "Groupes commencant par "&$search)
Désolé, j'utilise pas les regexp. J'ai jamais capté comment ca marche, du coup, je fais autrement.
Ceci dit, il suffit de modifier la ligne avec le 'if' dans la boucle de parsing du tableau avec l'expression réguliere et ca devrait aller aussi...
Si vis pacem para bellum
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [...] Recherche "spécial" dans un tableau

#7

Message par ZDS »

Re, grillé au moment de l'edit ^^ mais bon, autant améliorer le traitement dès le départ comme ZeShrek le propose :

Code : Tout sélectionner

if StringRegExp($Array[$i], "^(?i)groupe "&$search&"\d*$") Then
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
richie6700
Niveau 4
Niveau 4
Messages : 57
Enregistré le : ven. 21 janv. 2011 16:22
Status : Hors ligne

Re: [...] Recherche "spécial" dans un tableau

#8

Message par richie6700 »

Ecouter !!! je vous remercie à tous, vous m'avez tous très très bien aidé!!!

A la prochaine pour des nouvelles aventures !!!!
Répondre