Boucle de Substring ? Comment faire

Résolu
cs_MacSIM51 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 5 avril 2008 - 21 févr. 2008 à 21:48
cs_MacSIM51 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 5 avril 2008 - 22 févr. 2008 à 16:51
Bonjour à tous,

Tout d'abord, sachez que je débute en VB.net, en fait ça fait seulement 4heures que je l'utilise.. et merci pour votre forum ainsi que pour vos sites.

Ce post fait suite à celui-ci dont je me suis inspiré ici :
http://www.vbfrance.com/infomsg_RECUPERER-TEXTE-ENTRE-CARACTERES_1031085.aspx

Donc voilà, je vous explique ma situation :

j'ai un String, qui contient la source d'une page web, avec dedans plein lignes du style :

plein de lignes dont je me sers pas
debut
de texte qui change pas "ce que je veux reprendre" et la fin du texte
variablesuivi de deux caractéres identiques à chaque fin de ligne
debut de texte qui change pas "ce que je veux reprendre" et la fin du
texte variablesuivi de deux caractéres identiques à chaque fin de ligne
debut de texte qui change pas "ce que je veux reprendre" et la fin du
texte variablesuivi de deux caractéres identiques à chaque fin de ligne

plein de lignes dont je me sers pas

exemple d'une ligne type :
[mapage.php?id= XXXXX&param=YY
XXX est un nombre variable, entre 1 et 999999
Je désire extraire XXXXX&param=YY de toutes les lignes.

Alors pour le moment, j'ai fais ça :

    Public Function chercheUrl(ByVal Source As String) As String

        Dim chaine1 As Integer

        Dim chaine2 As Integer

        Dim debutchaine As String = "] 0) And (chaine2 > 1) Then

            url = Source.Substring(chaine1 + debutchaine.Length, chaine2 - (chaine1 + debutchaine.Length))

        End If


        Return url


    End Function

Avec cette fonction, je récupére bien le XXXXX&param=YY

Mais seulement, comment puis-je faire une boucle avec cette fonction
pour récupérer tous mes morceaux de texte qui son dans mon Source ?


Merci à tous pour vos réponse


Cdlt.

ps : si vous avez besoin de plus d'informations, je suis là.

3 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
21 févr. 2008 à 23:05
Peut-etre comme ça :

  Public Function chercheUrl(ByVal Source As String) As String
    Dim chaine1 As Integer
    Dim chaine2 As Integer    Dim debutchaine As String  "[ 0
      chaine2 = Source.IndexOf(finchaine, chaine1 + 1)
      If (chaine1 >= 0) And (chaine2 > 1) Then
        url = Source.Substring(chaine1 + debutchaine.Length, chaine2 -
(chaine1 + debutchaine.Length))
        'ici, il
faut stocker les différentes url trouvées
        ' par exemple :
        lesurls = lesurls & url & Environment.NewLine
      End If

      'ici on fait la
recherche suivante pour pouvoir continuer la boucle
      chaine1 = Source.IndexOf(debutchaine, chaine2 + 1)
    End While

    Return lesurls

  End Function

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    ]
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
22 févr. 2008 à 08:23
salut à tous,

http://www.codyx.org/snippet_recuperer-chaine-inconnue-placee-entre-deux-chaines-connues_334.aspx

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
cs_MacSIM51 Messages postés 10 Date d'inscription dimanche 17 février 2008 Statut Membre Dernière intervention 5 avril 2008
22 févr. 2008 à 16:51
Bonjour,

merci à toi casy, une fois de plus tu me sauve :) Ton code fonctionne très bien ;)

Et merci aussi à PCPT pour le lien, qui explique en plusieurs languages ça pourra me servir !

Voilà, encore merci ;)
Rejoignez-nous