[R] Scinder une variable en deux parties.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
XcessiV
Niveau 4
Niveau 4
Messages : 53
Enregistré le : mar. 07 août 2007 14:05
Localisation : Grenoble
Status : Hors ligne

[R] Scinder une variable en deux parties.

#1

Message par XcessiV »

Bonsoir tout le monde !

Je suis sur le point de terminer une premiere version fonctionnelle de mon projet :)
Il y a encore des modifs à faire pour optimiser le tout, mais l'essentiel c'est que cela fonctionne...

Bon, j'ai une etape qui me bloque sérieusement...

J'ai le chemin d'un executable dans une variable.
Je voudrais pouvoir la scinder en deux partie, la premiere le chemin d'acces, et la seconde le nom du soft.

Voila ce que j'ai fait (et qui ne fonctionne pas) :

Code : Tout sélectionner

$EXECUTABLE = stringsplit(GuiCtrlRead($InputURL),"/")
MsgBox(0, "TEXT To 1337", $EXECUTABLE)
MsgBox(0, "TEXT To 1337", StringRegExpReplace($InputURL, "["$EXECUTABLE"]", ""))
Avez vous une maniere plus simple de faire ? Une correction à me donner ?

Merci d'avance.

XcessiV
Modifié en dernier par XcessiV le mer. 29 août 2007 19:07, modifié 1 fois.
:) Merci à la AutoIt French Team pour son aide :)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

#2

Message par Tlem »

Vous devriez utilisez plutot la fonction _PathSplit

Code : Tout sélectionner

#include <file.au3>
Dim $szDrive, $szDir, $szFName, $szExt

$EXECUTABLE = _PathSplit(@ScriptFullPath, $szDrive, $szDir, $szFName, $szExt)

MsgBox(0, "TEXT To 1337", $EXECUTABLE[3])
MsgBox(0, "TEXT To 1337", $EXECUTABLE[1] & $EXECUTABLE[2])


; Ou alors :
MsgBox(0, "TEXT To 1337", $szFName)
MsgBox(0, "TEXT To 1337", $szDrive & $szDir)
 
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
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#3

Message par sylvanie »

sinon, sans udf, et rien qu'avec deux expressions régulières (ceux qui me connaissent déjà savent que je les sort à toutes les sauces ^^ )
on a :

Code : Tout sélectionner

$file_total=@ScriptFullPath

$rep=StringRegExpReplace($file_total,"([^\\]+\Z)","") ; remplacer tous les caractère en partant de la fin ne contenant pas \ (cad le nom du fichier), par ""
$file=StringRegExpReplace($file_total,".+\\",""); remplacer tout ce qui se termine par \ par "", du coups il ne reste que le fichier
MsgBox(0,"decomposition",$rep&@CRLF&$file&@CRLF&"regexp POWAAAA !!!")
 
et maintenant la même chose en une !

Code : Tout sélectionner

$file_total=@ScriptFullPath
$select=StringRegExp($file_total,"\A.+\\|[^\\]+\Z",3,1)
If IsArray($select) = 0 And UBound($select)<>2 then Exit 1
MsgBox(0,"decomposition",$select[0]&@CRLF&$select[1]&@CRLF&"Encore Regexp Powaaa!!!")
 
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Répondre