[VB] extraire chaine après le dernier \

sophie26 -  
 alamata -
Bonjour,
Je cherche à extraire d'une chaine quelquonque le contenu suivis après le dernier \ de ma chaine.
J'utilise dans mon code les fonction Instr mid et toute la famille, mais je pensse tourner en rond,
Merci à celui qui me remettra dans le bon chemin ^^

sophie,
A voir également:

4 réponses

Steff
 
Bonjour Sophie,

La variable "chaine" contient le texte dont nous souhaitons récupérer la fin.
2 façons :


- Façon "bavarde" :

pos=InStrRev(chaine,"\")
resultat=(Mid(chaine,pos))


- Façon moins "bavarde" :
resultat=(Mid(chaine,InStrRev(chaine,"\")))

A vérifier s'il ne faut pas faire +1 à pos ...
2
amigo
 
Bonjour,

La fonction extraire_dernier ce dessous retourne le dernier élément d'une chaine dont chaque champ est séparé par "\" comme dans le chemin d'un fichier
Sub essai()
Dim chaine As String, schaine As String
chaine = "C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5"
schaine = extraire_dernier(chaine)
MsgBox schaine
End Sub

Function extraire_dernier(chaine As String) As String
Dim ipos As Integer, apos As Integer
apos = 0: ipos = 0
Do
   ipos = InStr(ipos + 1, chaine, "\")
   If ipos > 0 Then apos = ipos
Loop While ipos > 0
extraire_dernier = ""
If apos > 0 Then extraire_dernier = Right(chaine, Len(chaine) - apos)
End Function

A+.
1
alamata
 
bonjour a tous,....

debutant total en vb

je desirerais savoir comment appeler cette function...

car ce bout de code repond parfaitement a mes besoins ,...

desole de poser ce genre de question mais il faut bien debuter un jour

dans l'attente impatience
d'une piste de resolution
0
zavenger Messages postés 811 Date d'inscription   Statut Membre Dernière intervention   161
 
Bonjour,

Quel langage exactement utilises-tu?


en vbs cela donnerais qque chose comme cela right(toto,len(toto)-InStrRev(toto,"\")

J'espere que cela va t'aider
0
sophie26
 
C'est du pour vb6, je regarde le tout directement merci bien
0