Extraire une ligne dans un texte ...

Résolu
Jeromedu79 Messages postés 119 Date d'inscription dimanche 9 janvier 2011 Statut Membre Dernière intervention 23 décembre 2012 - 30 juil. 2011 à 22:09
Jeromedu79 Messages postés 119 Date d'inscription dimanche 9 janvier 2011 Statut Membre Dernière intervention 23 décembre 2012 - 31 juil. 2011 à 17:45
Bonjour,

Voila depuis hier, je cherche à extraire une "sous chaine" d'un code source html.

Exemple :

Prenons le code source de la page d’accueil de vbfrance :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head id="m_head1"><title>
VBFrance.com | Visual Basic, VB6, VB.NET, VB 2005, VB CodeS SourceS  |  16828 sources VB, VB.NET, ASP.NET VBA, ASP, VBScript, VB Scripts, Source, Code, Programmation, Cours , Tutorial, Tutoriaux etc...
</title><meta name="author" content="Nix" /><meta name="owner" content="Nicolas SOREL (Nix)" /><meta name="description" content="Beaucoup de Codes Sources pour visual basic, VB.NET VB, VB 5, VB 6, VB5, VB6, ASP, VBA, VBScript, France, Francais, French" /><meta name="keywords" content="Visual Basic Codes Sources, Visual Basic sources, Scripts, Programmation, Developper, Programmer, Developpement, Cours , Tutorial, Tutoriaux, aide, informations, VB, VB4, VB5, VB6, ASP, VBScript, VBA, Windows 95, Windows 98, Windows NT4, Windows 2000, Sources, Codes, France, Francais, French" /><meta name="ROBOTS" content="INDEX,FOLLOW" /><meta name="ROBOTS" content="NOARCHIVE" /><meta name="MS.LOCALE" content="fr-FR" /><link id="m_RssCode" rel="alternate" title="Nouveaux codes" href="/rss.aspx" type="application/rss+xml" /><link id="m_RssForum" rel="alternate" title="Derniers Messages" href="/rss.aspx?type=forum" type="application/rss+xml" /><link id="m_Link1" rel="alternate" title="Blogs" href="http://blogs.codes-sources.com/MainFeed.aspx" type="application/rss+xml" /><link rel="alternate" title="Offres d'emploi" href="http://emploi.codes-sources.com/rss.aspx" type="application/rss+xml" /><link rel="alternate" title="Appels d'offres" href="http://feeds.feedburner.com/AppelsDoffres" type="application/rss+xml" /><link rel="search" title="Search.CodeS-SourceS.com" type="application/opensearchdescription+xml" href="http://search.codes-sources.com/opensearch.xml" /><link rel="SHORTCUT ICON" type="images/x-icon" href="/favicon.ico" /><link id="m_csslayout" type="text/css" rel="stylesheet" href="/css/layouts/vbfrance.css" /><link type="text/css" rel="stylesheet" href="/css/common.css?v=4" /><script type="text/javascript">var agp='SW5kZXinMKdodHRwOi8vd3d3Lmdvb2dsZS5mci91cmw/c2E9dCZzb3VyY2U9d2ViJmNkPTEmdmVkPTBDQmdRRmpBQSZ1cmw9aHR0cCUzQSUyRiUyRnd3dy52YmZyYW5jZS5jb20lMkYmcmN0PWomcT12YmZyYW5jZSZlaT1yV00wVHF6NE1NYUYtd2JRNFoyTkRRJnVzZz1BRlFqQ05GZnd6ZGcwRzY0c0hVb2lUVGpVYnQ0VW9iYUhRJnNpZzI9V1lpbS1IaWlFeDU2VWNtcnJVZWVqZw==';</script><script type="text/javascript" src="/js/ggads.js?v=6"></script><script type="text/javascript" src="/js/googafs.js?v=2"></script>
<script type="text/javascript" src="http://partner.googleadservices.com/gampad/google_service.js"></script><script type="text/javascript">GS_googleAddAdSenseService("ca-pub-6890369573773430");GS_googleEnableAllServices();</script><script type="text/javascript">GA_googleAddSlot("ca-pub-6890369573773430","CS_VBFRANCE_HomePage_Carre");GA_googleAddSlot("ca-pub-6890369573773430","CS_VBFRANCE_HomePage_LargeBanner");GA_googleAddSlot("ca-pub-6890369573773430","NEXT_Carre");GA_googleAddSlot("ca-pub-6890369573773430","NEXT_LargeBanner");</script><script type="text/javascript">GA_googleFetchAds();</script>
<script type="text/javascript">window.google_analytics_uacct = "UA-344156-19";</script></head>
    

        <li>Devenir membre club</li><li>[# Mon compte]<li>Mon espace membre</li><li>G&#233;rer vos alertes email</li></li><li>[# Mes Sources]<li>Toutes mes sources</li><li>Ajouter une source</li><li>Modifier une source</li></li><li>[# Mes Tutoriels]<li>Tous mes tutoriels</li><li>Ajouter un tutoriel</li><li>Modifier un tutoriel</li></li><li>[# Ma Messagerie]<li>Ma bo&#238;te de r&#233;ception</li><li>Ma bo&#238;te d'envoi</li><li>Mon carnet d'adresse</li><li>Ecrire un message</li></li><li>[# Mes Favoris]<li>Tous mes favoris</li><li>Les codes</li><li>Les livres</li><li>Les RFC</li><li>Les messages du forum</li></li><li>[# Aide &amp; r&#232;glement]<li>Votre 1&#232;re visite</li><li>Le r&#232;glement</li><li>Contacter les admins</li><li>Contacter le webmaster</li></li><li>[# Questions &amp; r&#233;ponses]<li>Comment soutenir CodeS-SourceS</li><li>Comment faire un lien vers CodeS-SourceS</li><li>Autres questions</li></li><li>[# A propos &amp; don]<li>A propos du r&#233;seau</li><li>Les mod&#233;rateurs</li><li>Remerciements</li><li>Faire un don</li><li>Le livre d'or</li></li><li>Tous les livres</li><li>Les derni&#232;res parutions</li><li>Les plus consult&#233;s</li><li>Les critiques</li><li>Le top des ventes</li><li>Le top favoris des membres</li><li>Recevoir des livres blancs</li><li>Tous les th&#232;mes</li><li>Les derniers messages</li><li>Les nouveaux messages</li><li>Poser une question</li><li>Le Chat - IRC</li><li>Tous les tutoriels</li><li>Ajouter un tutoriel</li><li>Les tutoriels en vid&#233;o</li><li>Les formations vid&#233;os</li><li>Tous les codes</li><li>Ajouter un code</li><li>Filtrer par cat&#233;gorie</li><li>[# Filtrer par date]<li>Les plus r&#233;cents</li><li>Les mis &#224; jour</li><li>Les codes par jour</li></li><li>[# Filtrer par niveau]<li>Niveau d&#233;butant</li><li>Niveau initi&#233;</li><li>Niveau expert</li></li><li>[# Filtrer par type]<li>Les codes avec capture</li><li>Les codes avec zip</li><li>Les codes .Net</li></li><li>[# Filtrer par qualit&#233;]<li>Les plus populaires</li><li>Les plus populaires du mois</li><li>Les plus t&#233;l&#233;charg&#233;s</li><li>Les mieux not&#233;s</li><li>Top par cat&#233;gorie</li><li>Top des favoris</li></li><li>[# Filtrer par auteur]<li>Tous les auteurs</li><li>Le top des membres</li></li><li>Les snippets</li><li>D&#233;poser votre CV</li><li>Consulter les offres d'emploi ou de stage</li><li>Consulter les CVs</li><li>D&#233;poser une offre d'emploi ou de stage</li><li>Mod&#232;les de CV et lettres</li><li>Trouver une convention collective</li><li>[# Les &#233;coles d'informatique]<li>Toutes les &#233;coles</li><li>Ajouter une &#233;cole</li></li><li>[# Les outils]<li>Outils pour d&#233;veloppeurs</li><li>Trouver des ressources</li><li>Base de donn&#233;es de CodeS-SourceS</li><li>T&#233;l&#233;charger les meilleurs logiciels</li><li>Comparer les prix</li><li>Envoyer des ecards</li><li>Cr&#233;ation de banni&#232;res</li></li><li>[# Annuaire de la prog]<li>Tous les sites</li><li>Ajouter votre site</li></li><li>[# Le dico de la prog]<li>Toutes les d&#233;finitions</li><li>Ajouter une d&#233;finition</li></li><li>[# Les &#233;v&#232;nements]<li>Tous les &#233;v&#232;nements</li><li>Les &#233;v&#232;nements &#224; venir</li><li>Ajouter un &#233;v&#232;nement</li></li><li>[# T&#233;l&#233;chargements]<li>CodeS-SourceS Toolbox</li><li>CodeS-SourceS Toolbar</li><li>Toolbar pour FireFox</li><li>Fonds d'&#233;cran</li><li>Les compil's</li></li><li>[# Nos partenaires]<li>Magazine Programmez</li><li>Frontier.fr</li><li>Xiti</li><li>ProgOnline</li><li>Winwise</li><li>Editions Eyrolles</li><li>Toute la liste</li></li><li>Les RFC</li>

        <form name="aspnetForm" method="post" action="/default.aspx" id="aspnetForm">








<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
    theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
        theForm.__EVENTTARGET.value = eventTarget;
        theForm.__EVENTARGUMENT.value = eventArgument;
        theForm.submit();
    }
}
//]]>
</script>


(J'ai un peux raccourci).

Maintenant, je souhaite extraire :




Même imaginons que les valeurs de name change a chaque ouverture du logiciel.
Il faudrait donc extraire de ""

J'ai essayé avec la méthode split(0) -> "split(Source, "<input") mais cela me donne tous ce qu'il y a avant "<input", et quand j'essaye avec split(1), je suis en dehors des limites du tableau.


Merci.

7 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
30 juil. 2011 à 22:31
Bonjour,

Voir avec le parseur XML (System.Xml.*).
Cela te permettra d'analyser le fichier plus facilement.

Sinon, il faudrait voir du coté des jokers (Like) ou des Regex.

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
31 juil. 2011 à 01:26
Bonjour,

Ton problème est de récupérer les données d'un fichier XHTML/XML ou de récupérer une données quelconque ?

Dans le premier cas, un coup de System.Xml.*, ensuite, tu recherches les éléments qui t'intéresse et tu en récupères les données (attributs et données).

Dans le 2ième, il faut savoir si ce que tu cherches est toujours à la même place ou si il faut moduler.

Le premier cas est plus simple à gérer si tu as un fichier XML/XHTML, car même si la balise est sur plusieurs lignes, tu la récupèreras sans pb avec le parseur.

A toi de voir quelle partie t'intéresse dedans, ensuite, j'adapterais ma réponse.

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
3
Jeromedu79 Messages postés 119 Date d'inscription dimanche 9 janvier 2011 Statut Membre Dernière intervention 23 décembre 2012 1
31 juil. 2011 à 00:58
Bonjour,

Je crois que le code source de vbfrance était un mauvais exemple

Essayons avec un texte

Bonjour,
Aujourd'hui, il fait 24° à l'ombre.
Nous somme le 30 Juillet 2011 et il est 0h54


Je voudrais récupérer par exemple la date, donc il faudrait délimiter séparé le texte en fonction de deux critère ("le", "et")

Avec la fonction split, sa fonctionnais bien quand on n'avais

24°|30 Juillet 2011|0h54


Il suffisait juste de faire ceci :

Dim Text as string = "Bonjour," & vbcrlf & "Aujourd'hui, il fait 24° à l'ombre." & vbcrlf & "Nous somme le 30 Juillet 2011 et il est 0h54"

Dim Tableau() as string = split(text, "|")

msgbox(Tableau(1))
0
Jeromedu79 Messages postés 119 Date d'inscription dimanche 9 janvier 2011 Statut Membre Dernière intervention 23 décembre 2012 1
31 juil. 2011 à 00:59
Dim Text as string = "24°|30 Juillet 2011|0h54"

Dim Tableau() as string = split(text, "|")

msgbox(Tableau(1))


Je me suis trompé ^^"
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Jeromedu79 Messages postés 119 Date d'inscription dimanche 9 janvier 2011 Statut Membre Dernière intervention 23 décembre 2012 1
31 juil. 2011 à 12:18
Bonjour,

Oui en effet, la partie que j'essaye d'extraire est dans un code source XML/XHTML/HTML (Je ne m'y connais pas trop dans le dev' web)

Je viens de trouvé un lien qui explique comment parser le HTML

Ce lien est t'il ce que je cherche ?
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
31 juil. 2011 à 13:17
Bonjour,

ça Semble en effet correspondre à ton besoin, mais il est en VB6, il te faudra donc adapter le code.

---------------------------------------------------------------------
[list][*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu, pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Jeromedu79 Messages postés 119 Date d'inscription dimanche 9 janvier 2011 Statut Membre Dernière intervention 23 décembre 2012 1
31 juil. 2011 à 17:45
Bonjour,

Je vais essayer et adapter le code et voir ce si cela correspond à mes besoins.

Merci
0
Rejoignez-nous