[R] Probleme d'utilisation de StringMid & StringInStr

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

[R] Probleme d'utilisation de StringMid & StringInStr

#1

Message par LqX »

Bonjour, voici mon problème.

J'aimerai extraire d'une variable une partie du contenu de celle-ci.

Exemple de deux contenu differents :
1- 122_departs_HTA_C.REGC0013_-_TOISON_-_A3V_10321931_1
2- 122_departs_HTA_C.REGC0014_-_DARBOI_-_A3V_10321759_1

Il faudrai que j'arrive a extraire ce qui en Rouge.

Donc j'ai essayer d'utiliser StringMid en utilisant StringInStr pour les valeur de départ et du nombre de caractere a extraire.

Pour la valeur de départ de StringMid j'utilisai ce caractère "-" et StringInStr pour me réperer et ainsi recuperer la bonne position de départs.

De même pour la valeur d'arriver mais c'est fois en partant directement du premier StringInStr ou il trouve "-".

Voici mon code brouillon.
► Afficher le texte
Voila en esperant avoir un petit coup de pouce.
Cordialement.
Modifié en dernier par LqX le jeu. 28 juin 2012 20:14, modifié 3 fois.
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [..] Probleme d'utilisation de StringMid & StringInStr

#2

Message par Iste »

avec

Code : Tout sélectionner

_StringBetween($str, "_-_", "_-_")
ca le ferait ?
Signez ici
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Probleme d'utilisation de StringMid & StringInStr

#3

Message par mikell »

Voilà... mais c'est un peu barbare, vaudrait mieux le faire en regexp :wink:

Code : Tout sélectionner

$txt = "122_departs_HTA_C.REGC0013_-_TOISON_-_A3V_10321931_1"

$n = StringInStr($txt, "-", 0, -1) - StringInStr($txt, "-", 0, 1) - 3
MsgBox(0,"Array",StringMid($txt, StringInStr($txt, "-", 0, 1)+2, $n))
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Probleme d'utilisation de StringMid & StringInStr

#4

Message par LqX »

Merci :)

J'ai encore beaucoup de mal avec tous les String*.

EDIT : j'ai encore parler beaucoup trop vite.

J'ai donc utiliser ce que tu m'avait envoyer mikell et sa ne renvoi pas la valeur voulu, même aucune.

Voici le code adapté :
► Afficher le texte
Voici ce que contient le Tableau global des noms.
► Afficher le texte
Modifié en dernier par LqX le jeu. 28 juin 2012 20:06, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Probleme d'utilisation de StringMid & StringInStr

#5

Message par mikell »

Le regexp, pour le fun Image

Code : Tout sélectionner

$txt = "122_departs_HTA_C.REGC0013_-_TOISON_-_A3V_10321931_1"

MsgBox(0,"Array", StringRegExpReplace($txt, '.+?-_(.+?)_.+', "$1") )
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
LqX
Niveau 3
Niveau 3
Messages : 47
Enregistré le : ven. 11 nov. 2011 12:32
Status : Hors ligne

Re: [..] Probleme d'utilisation de StringMid & StringInStr

#6

Message par LqX »

L'erreur est de moi, $txt[$i] , j'avais oublier [$i].
Autant pour moi, je me précipite trop souvent :)

Merci, je ne m'étais pas encore pencher sur RegExp mais je voit que c'est vraiment plus pratique.

Sujet résolu.
Répondre