Extraire une chaine de caractères d'une ligne [Résolu]

cmiss16 21 Messages postés lundi 3 avril 2006Date d'inscription 13 novembre 2006 Dernière intervention - 16 oct. 2006 à 12:49 - Dernière réponse : dthuler 123 Messages postés dimanche 9 mars 2003Date d'inscription 29 avril 2009 Dernière intervention
- 19 oct. 2006 à 14:53
Bonjour,

Je lis chaque ligne d'un fichier.
Pour chacune de ses lignes j'aimerai extraire url si elle existe ( et seulement elle!)
voici un exemple de ligne
"<td valign="middle" align="center">[http://www.toto.fr/FRANCE">TOTO</td>"

Quelqu'un peut m'aider??

Merci
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
dthuler 123 Messages postés dimanche 9 mars 2003Date d'inscription 29 avril 2009 Dernière intervention - 16 oct. 2006 à 13:21
3
Merci
Salut!
Voici une proposition;

Private Function GetHTTPAdresse(Ligne As String) As String
    intDebPosition = InStr(1, Ligne, "http://")
    If intDebPosition > 0 Then
        intFinPosition = InStr(intDebPosition, Ligne, Chr(34))
        GetHTTPAdresse = Mid(Ligne, intDebPosition, intFinPosition - intDebPosition)
    Else
        GetHTTPAdresse = ""
    End If
End Function

Bon code!

David

Merci dthuler 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de dthuler
Meilleure réponse
cmiss16 21 Messages postés lundi 3 avril 2006Date d'inscription 13 novembre 2006 Dernière intervention - 16 oct. 2006 à 13:27
3
Merci
Merci beaucoup

Merci cmiss16 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 69 internautes ce mois-ci

Commenter la réponse de cmiss16
cmiss16 21 Messages postés lundi 3 avril 2006Date d'inscription 13 novembre 2006 Dernière intervention - 19 oct. 2006 à 09:44
0
Merci
Bonjour
De nouveau moi...
Je lis toujours un fichier et pour chaque ligne de ce fichier j'arrive à extraire URL (merci David )

Mais voilà... maintenant dans ma ligne ils existent plusieurs URL...

<td >



["essai>
["essai2>
["essai3>
</td>
Comment toutes les extrairent??

Merci.
Commenter la réponse de cmiss16
dthuler 123 Messages postés dimanche 9 mars 2003Date d'inscription 29 avril 2009 Dernière intervention - 19 oct. 2006 à 10:15
0
Merci
Ton exemple comprends plusieurs lignes...

Cependant il est vrai que la fonction que je t'ai donnée comprends une grosse lacune; il est possible en HTML de mettre plusieurs "Tags" sur une même ligne... la solution complète est dans le même goût. Pour garder la fonction existante, je te propose de la compléter comme suit;

La première fonction dans un module ainsi que la suite:

Public Type monHTTP
Adresses() As String
End Type

Public Function LireToutesLesAdresses(Ligne as String) As monHTTP
Dim DebutTag As Integer, FinTag As Integer, intIndex As Integer
FinTag = 0
intIndex = 0
Do
DebutTag = InStr(FinTag, Ligne, "[)
FinTag = InStr(DebutTag, Ligne, ")
ReDim LireToutesLesAdresses(intIndex)
LireToutesLesAdresses.Adresses(intIndex) = GetHTTPAdresse (Mid(Ligne, DebutTag, Len(Ligne) - DebutTag + 1))
intIndex = intIndex + 1
Loop While DebutTag > 0
End Function

Tu appelles la fonction depuis ton prog par;
Dim MesAdresses As monHTTP
MesAdresses = LireToutesLesAdresses(LigneHTML)

Bon, ok c'est fait à la husse, je l'ai pas testé (pour une fois) mais ça devrait fonctionner.

La fonction LireToutesLesAdresses parcours la ligne et extrait les ] et GetHTTPAdresse lui renvoie l'adresses HTTP... question à 2 francs: Qu'est-ce qu'il se passe si du CSS ou du script vb ou js par exemple se trouve dans le <A HREF ??? A toi de modifier le code en conséquence si besoin

David
Commenter la réponse de dthuler
cmiss16 21 Messages postés lundi 3 avril 2006Date d'inscription 13 novembre 2006 Dernière intervention - 19 oct. 2006 à 11:06
0
Merci
J'ai fait quelques mofifs par rapport  à ce que tu m"as donné...
1) Je n'ai pas un "public type" mais 

Public
Structure monHTTP

Dim Adresses()
As
String

End
Structure

2) A la place de "ReDim LireToutesLesAdresses(intIndex)" j'ai ReDim

LireToutesLesAdresses.Adresses(intIndex)

Je récupère les bonnes RUl qu'il faut à chaque fois mais en faisant le ReDim les adresses de monHTTP s'efface
Commenter la réponse de cmiss16
dthuler 123 Messages postés dimanche 9 mars 2003Date d'inscription 29 avril 2009 Dernière intervention - 19 oct. 2006 à 11:18
0
Merci
Oupsss, rajoute le mot-clé Preserve après ReDim sinon il efface le tableau à chaque fois, désolé.
(j'utilise cette méthode par soucis d'économie de mémoire mais surtout parce que je connais la taille max du tableau à chaque modif, c'est plus pratique!)
Commenter la réponse de dthuler
cmiss16 21 Messages postés lundi 3 avril 2006Date d'inscription 13 novembre 2006 Dernière intervention - 19 oct. 2006 à 14:06
0
Merci
Tout marche...
Merci David
Commenter la réponse de cmiss16
dthuler 123 Messages postés dimanche 9 mars 2003Date d'inscription 29 avril 2009 Dernière intervention - 19 oct. 2006 à 14:53
0
Merci
Content d'avoir pu t'aider!
David
Commenter la réponse de dthuler

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.