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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Artemis
Niveau 3
Niveau 3
Messages : 49
Enregistré le : jeu. 03 juil. 2008 19:31
Status : Hors ligne

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

#1

Message 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 ;)
Modifié en dernier par Artemis le dim. 04 janv. 2009 15:08, modifié 1 fois.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

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

#2

Message 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)
olaiv
Niveau 3
Niveau 3
Messages : 41
Enregistré le : sam. 26 avr. 2008 22:17
Status : Hors ligne

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

#3

Message 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)
Artemis
Niveau 3
Niveau 3
Messages : 49
Enregistré le : jeu. 03 juil. 2008 19:31
Status : Hors ligne

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

#4

Message 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 ;)
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

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

#5

Message 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 ;-)
olaiv
Niveau 3
Niveau 3
Messages : 41
Enregistré le : sam. 26 avr. 2008 22:17
Status : Hors ligne

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

#6

Message par olaiv »

Ah j'avais pas vu la réponse d'ani , effectivement c'est plus simple comme ça :D
Répondre