[R] Connaitre la position d'un chiffre dans une chaine

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

[R] Connaitre la position d'un chiffre dans une chaine

#1

Message par GhostLine »

Salut à tous,

je suis bien embêté :) j'essaye désespérément de trouver une solution au problème suivant : dans une ligne de texte, du type

T04_ENSEIGNE:nNN0.60=MAGASIN TOULOUSE 31 TOULOUSE

je cherche à définir la position du premier chiffre (après le char = ), afin de mettre MAGASIN TOULOUSE dans une variable, et 31 TOULOUSE dans une autre. Pour mémoire, je ne peux pas utiliser Stringleft ou Stringright, car le nombre d'espaces entre les deux "blocs" varie.
Modifié en dernier par GhostLine le ven. 12 févr. 2010 09:23, modifié 1 fois.
Serge63
Niveau 4
Niveau 4
Messages : 71
Enregistré le : lun. 22 juin 2009 14:54
Localisation : Clermont-ferrand
Status : Hors ligne

Re: [..] Connaitre la position d'un chiffre dans une chaine

#2

Message par Serge63 »

bonjour

je viens de faire ça vite fait, mais il y a peut etre plus simple :
► Afficher le texte
jordane45
Niveau 2
Niveau 2
Messages : 28
Enregistré le : mer. 03 févr. 2010 12:13
Localisation : Orléans
Status : Hors ligne

Re: [..] Connaitre la position d'un chiffre dans une chaine

#3

Message par jordane45 »

Bonjour,

Je ne suis pas expert dans AutoIt (je commence tout juste).
Je te propose le code suivant :
► Afficher le texte
Je suppose que d'autres personnes pourrons surement donner une autre façon de faire (peut être plus simple) mais c'est déjà un début de réponse.

Bonne journée.
Jordane
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11818
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Connaitre la position d'un chiffre dans une chaine

#4

Message par Tlem »

L'utilisation d'expression(s) régulière(s) serait sans doute plus simple. ;)

Edit :

Code : Tout sélectionner

$String = "T04_ENSEIGNE:nNN0.60=MAGASIN TOULOUSE 31 TOULOUSE"

$String = StringRegExpReplace($String, "(.*?=)", "")
$Var1 = StringRegExpReplace($String, "(\d.*)", "")
$Var2 = StringReplace($String, $Var1, "")

MsgBox(0, '', '$Var1 = ' & $Var1 & @CRLF & '$Var2 = ' & $Var2)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
GhostLine
Niveau 7
Niveau 7
Messages : 342
Enregistré le : jeu. 12 mars 2009 15:28
Localisation : Paris
Status : Hors ligne

Re: [..] Connaitre la position d'un chiffre dans une chaine

#5

Message par GhostLine »

Merci tlem ! Ta solution marche nickel ^^

Merci à tous les autres aussi, bien sûr :) pour mémoire, Serge, ton code fonctionne correctement, mais uniquement une fois (pour une raison que je n'ai pas réussi à déterminer).
Serge63
Niveau 4
Niveau 4
Messages : 71
Enregistré le : lun. 22 juin 2009 14:54
Localisation : Clermont-ferrand
Status : Hors ligne

Re: [R] Connaitre la position d'un chiffre dans une chaine

#6

Message par Serge63 »

tu bosses sur quoi ? un fichier texte ?

si tu veux, envoies le moi pour que je fasse un test
Répondre