[R] Reconnaissance de lettre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

[R] Reconnaissance de lettre

#1

Message par milka »

Bonjour à tous,
Je travaille actuellement sur un programme de "réécriture", où je dois garder uniquement les nombres présents dans un certain fichier, mais j'ai un petit problème.

Je vais essayer d'être le plus clair possible.
J'ai plusieurs fichiers .txt qui contiennent alternativement des suites de lettres et de nombres. Je ne connais qu'une suite de nombres sur deux.

Par exemple :
aaa854bvc214bbb968tre547ccc....
aaa114qsd741bbb358poi774ccc....

J'ai choisi d'utiliser la fonction _StringBetween pour effectuer ce travail, mais je n'avais pas pensé au problème que je ne peux pas définir la limite de la chaîne a relever, car la lettre change sans cesse.

Code : Tout sélectionner

#include <String.au3>

$chaine = "aaa854b"
$chaine2 = "aaa854c"

Msgbox(0,'',_StringBetween($chaine, "aaa", $prochaine_lettre, 0))
;ici, je veux relever 854, situé entre "aaa" et "b"
Msgbox(0,','_StringBetween($chaine2, "aaa", $prochaine_lettre, 0))
;ici, je veux relever 854, situé entre "aaa" et "c"
Sauriez-vous ce que je pourrais mettre comme valeur a $prochaine_lettre ou connaissez-vous une fonction similaire ?

Merci d'avance, milka.
Modifié en dernier par milka le ven. 08 avr. 2011 20:30, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Reconnaissance de lettre

#2

Message par jchd »

Une expression régulière, peut-être ?

Code : Tout sélectionner

Local $aStr[2] = [ _
    "aaa854bvc214bbb968tre547ccc874der904", _
    "aaa114qsd741bbb358poi774ccc111frt888azertyuiopqsdfghj04560487890404890498FH UI FNHOTZ" _
]
Local $match
For $s In $aStr
    $match = StringRegExp($s, '\d+', 3)
    _ArrayDisplay($match)
Next
 
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
milka
Niveau 4
Niveau 4
Messages : 55
Enregistré le : sam. 03 avr. 2010 17:00
Status : Hors ligne

Re: [..] Reconnaissance de lettre

#3

Message par milka »

Super !
Je ne m'étais jamais intéressé a la RegEx.

Merci beaucoup !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Reconnaissance de lettre

#4

Message par jchd »

Il faut, il faut absolument !
Il faut s'approprier les domaines qui rendent fous :twisted:
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre