recuperer une chaine dans une chaine... [VB6] - VB/VBA/VBS - Programmation
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. 
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
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
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