Page 1 sur 1

[R] Probleme d'utilisation de StringMid & StringInStr

Posté : jeu. 28 juin 2012 19:42
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.

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

Posté : jeu. 28 juin 2012 19:52
par Iste
avec

Code : Tout sélectionner

_StringBetween($str, "_-_", "_-_")
ca le ferait ?

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

Posté : jeu. 28 juin 2012 19:54
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))

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

Posté : jeu. 28 juin 2012 19:57
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

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

Posté : jeu. 28 juin 2012 20:05
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") )

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

Posté : jeu. 28 juin 2012 20:13
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.