Page 1 sur 1

[R] Récupérer tous les caractéres après le dernier "/"

Posté : dim. 04 janv. 2009 13:47
par Artemis
Bonjour, j'ai une URL : http://site.com/dossier/aaa.doc J'aimerais récupérer tous les caractéres après le dernier "/" soit, ici aaa.doc. Le nombre de "/" peut varier. Auriez-vous une solution ?

Merci d'avance

Artemis ;)

Re: [..] Récupérer tous les caractéres après le dernier "/"

Posté : dim. 04 janv. 2009 14:36
par ani
en regex possible, y a bien sure d'autre possibilité ;)

Code : Tout sélectionner

$Uri =  "http://site.com/dossier/aaa.doc"
$hFichier = StringReplace($uri,StringRegExpReplace($uri,"[^//]+\Z",""),"")
MsgBox(0x10,"Nom du fichier",$hFichier)
Me semble qui y a une technique plus simple pour retourner le fichier d'un lien (url)

Re: [..] Récupérer tous les caractéres après le dernier "/"

Posté : dim. 04 janv. 2009 14:45
par olaiv
Salut tu peux utiliser la fonction _PathSplit je te joins un bout de code dérivé de l'aide que j'ai adapté à ton cas.

Code : Tout sélectionner

#include <file.au3>
#include <array.au3>
Dim $szDrive, $szDir, $szFName, $szExt
$TestPath = _PathSplit("http://site.com/dossier/aaa.doc", $szDrive, $szDir, $szFName, $szExt)
_ArrayDisplay($TestPath, "Demo _PathSplit()")
$sNomFichier = $TestPath[UBound($TestPath) - 2] & $TestPath[UBound($TestPath) - 1]
MsgBox(0, "Nom de ton fichier",$sNomFichier)

Re: [..] Récupérer tous les caractéres après le dernier "/"

Posté : dim. 04 janv. 2009 15:07
par Artemis
Merci à vous deux pour vos réponses rapides. Je vais utiliser les Regex car plus léger (et plus simple !). Problème résolu :).

Artemis ;)

Re: [R] Récupérer tous les caractéres après le dernier "/"

Posté : dim. 04 janv. 2009 15:23
par ani
$Regex = [^//]+\Z

Explication : On sélectionne tous les caractères autres que / : [^//]+
ET qui termine la fin de $Uri : \Z

du coût on sélectionne la fin de ligne juqu'au premier / rencontré en partant de la fin

Exemple 2.

Code : Tout sélectionner

$Regex = [^//]+\Z
$Uri =  "http://site.com/dossier/aaa.doc"
$hFichier = StringRegExp($Uri,$Regex,3)
MsgBox(0x10,"Nom du fichier",$hFichier[0])

bien vu Olaiv ;-)

Re: [R] Récupérer tous les caractéres après le dernier "/"

Posté : dim. 04 janv. 2009 16:18
par olaiv
Ah j'avais pas vu la réponse d'ani , effectivement c'est plus simple comme ça :D