[VB6] recuperer une chaine dans une chaine...

recuperer une chaine dans une chaine... [VB6] - VB/VBA/VBS - Programmation

Marsh Posté le 18-01-2006 à 13:58:50    

je sait le sujet est pas tres clair mais je vois pas comment mieu l'expliquer...
 
exemple :  
 
j'ai la chaine suivante en html : <link href="http://i.blabla.com/icons/favicon.png" rel="shortcut icon"/>
 
et je doit arriver a recuperer la chaine  
 
favicon.png
 
j'arrive a reperer la ligne du fichier text qui contient se qui m'interesse mais pas a l'isoler
 
le but étant d'avoir un fichier texte contenant par exemple :
 
favicon.png
blabla.png
xyz.png
kujhkjh.png
 
voila, si vous avez compris et que vous avez une idée, merci d'avance  :)

Reply

Marsh Posté le 18-01-2006 à 13:58:50   

Reply

Marsh Posté le 18-01-2006 à 14:12:14    

Bonjour,
 
Un début de réponse :
 
Les fonctions Instr() et InstrRev() renvoient la position d'une sous-chaine dans une chaine.
 
La fonction Mid() permet d'extraire une sous-chaine d'une chaine.

Reply

Marsh Posté le 18-01-2006 à 18:18:07    

salut,
 
Voici 4 fonctions qui devraient t'aider à isoler une sou-chaine:
 
Function BeforeFirst(Texte As String, Séparateur As String, Optional Différenciation As Boolean = False)
Dim NbAvant
chaineplus = Len(Séparateur)
If Différenciation = False Then
    comparer = 1
Else: comparer = 0
End If
NbAvant = InStr(1, Texte, Séparateur, comparer)
 
If NbAvant = 0 Then
    BeforeFirst = Texte
Else: BeforeFirst = Left(Texte, NbAvant - 1)
End If
End Function
 
Function AfterFirst(Texte As String, Séparateur As String, Optional Différenciation As Boolean = False)
Dim NbAvant
chaineplus = Len(Séparateur)
If Différenciation = False Then
    comparer = 1
Else: comparer = 0
End If
NbAvant = InStr(1, Texte, Séparateur, comparer)
 
If NbAvant = 0 Then
    AfterFirst = Texte
Else: AfterFirst = Right(Texte, Len(Texte) - (NbAvant + chaineplus - 1))
End If
End Function
 
Function BeforeLast(Texte As String, Séparateur As String, Optional Différenciation As Boolean = False)
 
If Différenciation = False Then
    comparer = 1
Else: comparer = 0
End If
For compteur = Len(Texte) To 1 Step -1
    If InStr(compteur, Texte, Séparateur, comparer) <> 0 Then GoTo Trouvé
Next
 
compteur = Len(Texte) + 1
 
Trouvé:
BeforeLast = Left(Texte, compteur - 1)
 
End Function
 
Function AfterLast(Texte As String, Séparateur As String, Optional Différenciation As Boolean = False)
chaineplus = Len(Séparateur)
If Différenciation = False Then
    comparer = 1
Else: comparer = 0
End If
 
For compteur = Len(Texte) To 1 Step -1
    If InStr(compteur, Texte, Séparateur, comparer) <> 0 Then GoTo Trouvé
Next
 
compteur = Len(Texte) + 1
 
Trouvé:
AfterLast = Right(Texte, Len(Texte) - (compteur - 1 + chaineplus))
 
End Function

Reply

Marsh Posté le 18-01-2006 à 18:18:48    

Utilise Instr pour détecter « .png »
Ensuite tu remonte pour trouver le « / »
Envisage l'utilisation de « StrReverse », ça peut aider grandement

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed