IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Extraction de données dans un fichier


Sujet :

Algorithmes et structures de données

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Extraction de données dans un fichier
    Bonjour ami(e)s programmeur,

    Je bloque sur un problème qui ne doit pas être un problème pour vous.
    Je souhaite extraire d'une ligne deux variables bien précise.

    Exemple :

    6-180: onmouseover="this.T_WIDTH=250;this.T_OFFSETX=-110;this.T_OFFSETY=-110;this.T_STICKY=true;this.T_TEMP=5000;return escape('<table width=\'240\'><tr><td class=\'c\' colspan=\'2\'>Champ de débris [6:180:8]</td></tr><tr><th width=\'80\'><img src=\'http://ogame144.de/epicblue/planeten/debris.jpg\' height=\'75\' width=\'75\' alt=\'T\'/></th><th><table><tr><td class=\'c\' colspan=\'2\'>Ressources :</td></tr><tr><th>Métal :</th><th>0</th></tr><tr><th>Cristal :</th><th>8.400</th></tr><tr><td class=\'c\' colspan=\'2\'>Actions :</tr><tr><th colspan=\'2\' style=\'text-align: left\'><a href=\'#\' onclick=\'doit(8, 6, 180, 8, 2, )\'>Exploiter</a></tr></table></th></tr></table>');"

    Je n'arrive pas à extraire ces données !!!!!!!!!

    Sinon est ce qu'il serait possible d'éffacer toutes les données autour ???

    Cordialement BBrecors

  2. #2
    Membre averti
    Avatar de Foobar1329
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    283
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Juin 2006
    Messages : 283
    Points : 387
    Points
    387
    Par défaut
    Hello,

    Citation Envoyé par bbrecords
    Bonjour ami(e)s programmeur,

    Je bloque sur un problème qui ne doit pas être un problème pour vous.
    Que tu crois.

    Citation Envoyé par bbrecords

    Je souhaite extraire d'une ligne deux variables bien précise.

    Exemple :

    6-180: onmouseover="this.T_WIDTH=250;this.T_OFFSETX=-110;this.T_OFFSETY=-110;this.T_STICKY=true;this.T_TEMP=5000;return escape('<table width=\'240\'><tr><td class=\'c\' colspan=\'2\'>Champ de débris [6:180:8]</td></tr><tr><th width=\'80\'><img src=\'http://ogame144.de/epicblue/planeten/debris.jpg\' height=\'75\' width=\'75\' alt=\'T\'/></th><th><table><tr><td class=\'c\' colspan=\'2\'>Ressources :</td></tr><tr><th>Métal :</th><th>0</th></tr><tr><th>Cristal :</th><th>8.400</th></tr><tr><td class=\'c\' colspan=\'2\'>Actions :</tr><tr><th colspan=\'2\' style=\'text-align: left\'><a href=\'#\' onclick=\'doit(8, 6, 180, 8, 2, )\'>Exploiter</a></tr></table></th></tr></table>');"

    Je n'arrive pas à extraire ces données !!!!!!!!!

    Sinon est ce qu'il serait possible d'éffacer toutes les données autour ???

    Cordialement BBrecors
    Apparement il ne s'agit pas de données positionnelles mais bien de texte qui ressemble fortement à du HTML ou quelquechose du même genre foutu comme action pour un gestionnaire d'événement Javascript => compliqué.

    La première chose à effectuer afin d'y voir plus clair est de transformer les < et > avec leurs caractère correspondants, pas pour les remplacer effectivement dans le code, mais pour voir clairement dans quel élément HTML aller regarder.

    Ensuite, il faut se faire un mini parseur pour atteindre l'élément HTML voulu.

    Pas simple.

    A+

  3. #3
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par bbrecords
    Bonjour ami(e)s programmeur,

    Je bloque sur un problème qui ne doit pas être un problème pour vous.
    Je souhaite extraire d'une ligne deux variables bien précise.

    Exemple :

    6-180: onmouseover="this.T_WIDTH=250;this.T_OFFSETX=-110;this.T_OFFSETY=-110;this.T_STICKY=true;this.T_TEMP=5000;return escape('<table width=\'240\'><tr><td class=\'c\' colspan=\'2\'>Champ de débris [6:180:8]</td></tr><tr><th width=\'80\'><img src=\'http://ogame144.de/epicblue/planeten/debris.jpg\' height=\'75\' width=\'75\' alt=\'T\'/></th><th><table><tr><td class=\'c\' colspan=\'2\'>Ressources :</td></tr><tr><th>Métal :</th><th>0</th></tr><tr><th>Cristal :</th><th>8.400</th></tr><tr><td class=\'c\' colspan=\'2\'>Actions :</tr><tr><th colspan=\'2\' style=\'text-align: left\'><a href=\'#\' onclick=\'doit(8, 6, 180, 8, 2, )\'>Exploiter</a></tr></table></th></tr></table>');"

    Je n'arrive pas à extraire ces données !!!!!!!!!

    Sinon est ce qu'il serait possible d'éffacer toutes les données autour ???

    Cordialement BBrecors
    Pour le moment, c'est un problème algorithmique et non de C...

    Il faut définir comment tu peux extraire ces nombres à la main avant de pouvoir le faire dans un langage de programmation.

    - Qu'est-ce qui fait sortir ces nombres par rapport aux autres ? -> Algorithme
    - Comment enlever les parties inintéressantes (et donc comment savoir qu'elles le sont ?) -> Algorithme
    - Comment transformer cette chaîne extraite en entier ? -> strtol...

    Je rappelle que nous ne sommes pas là pour faire ton travail donc propose un algorithme, explique pourquoi tu n'y arrives pas et on t'aidera à terminer...

    Jc

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Août 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par fearyourself
    Pour le moment, c'est un problème algorithmique et non de C...

    Il faut définir comment tu peux extraire ces nombres à la main avant de pouvoir le faire dans un langage de programmation.

    - Qu'est-ce qui fait sortir ces nombres par rapport aux autres ? -> Algorithme
    - Comment enlever les parties inintéressantes (et donc comment savoir qu'elles le sont ?) -> Algorithme
    - Comment transformer cette chaîne extraite en entier ? -> strtol...

    Je rappelle que nous ne sommes pas là pour faire ton travail donc propose un algorithme, explique pourquoi tu n'y arrives pas et on t'aidera à terminer...

    Jc
    Drôle, merci d'avoir répondu aussi vite !!!!!!
    J'ai réalisé beaucoup de recherche sur internet et je n'es pas trouvé de solution à mon problème.
    Je travail sous une station sous linux et je sais qu'il existe dans le language C un moyen d'épurer ce code .


    Cordialement

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 37
    Points : 36
    Points
    36
    Par défaut
    1) Quels sont exactements les éléments que tu doit récupérer ?
    2) Dans quel langage ?
    3) Parcours de chaine OU expressions régulières ?


  6. #6
    Invité
    Invité(e)
    Par défaut
    Bon, c'est pas si compliqué que ça... C'est imbuvable, mais pas compliqué

    déja... les 2 nombres sont dans un <th> </th>

    donc, c'est parti, tu cherche toutes les chaines du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #&lt;th&gt;[0-9.]+&lt;/th&gt;#
    ca marche tres bien... tu tre retrouve avec ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    &lt;th&gt;0&lt;/th&gt;
    &lt;th&gt;8.400&lt;/th&gt;
    plus qu'a finir de nettoyer... ( s/&lt;.*?&gt;//g en perl par exemple)

Discussions similaires

  1. Réponses: 6
    Dernier message: 05/05/2010, 10h18
  2. Extraction des données dans un fichier texte brut
    Par Patrice.peace dans le forum Langage
    Réponses: 10
    Dernier message: 16/03/2010, 09h40
  3. Réponses: 4
    Dernier message: 05/02/2008, 11h08
  4. Extraction de données dans un fichier texte en VB6 !
    Par rockroa dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 21/06/2006, 16h00
  5. Extraction de donnés dans un fichier XML
    Par ANISSS dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 27/01/2006, 13h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo