PERL - extraire données d'un txt

bonjour a tous,

je travaille sur des fichiers textes dont je dois extraire traiter et restocker des données.
j'utilise Perl et je me demande si quelqu'un pourrait me conseiller et me donner des pistes.

chaque ligne de mon fichier ressemble à:
1.AA 152.25
2.AH 25.26

je voudrai extraire d'une part le premier chiffre (ou nombre), le groupement de lettre, et enfin la valeur décimale.

Je pensais ensuite mettre tout ca dans un tableau à plusieurs colonnes pour traiter ces données.

comment puis je extraire chaque partie m'interessant dasn chaque ligne?

merci d'avance
Configuration: Linux
Konqueror 3.4

6 réponses

  1. Modérateur
    Salut,

    tu peux essayer avec les fonctions suivantes :

    index : qui recheche la première occurrence d'une chaine dans une autre (ici, tu pourrais chercher '.' comme séparateur)
    substr : qui extrait une chaine d'une autre

    le principe serait de chercher le premier '.', d'extraire tout ce qui est à gauche de ce point, récupérer la partie droite, chercher l'espace, récupérer tout ce qui est à gauche, récupérer la partie droite, chercher le '.' et prendre ce qui est à droite

    Lami20j te proposera sûrement plus rapide (mais beaucoup plus illisible, à mon avis...:-))).
    0
    1. Bonjour en ce moment je suis en plein projet j'ai un fichier.txt enregistré sous mon disque (C:\text\fichier.txt) dur et je dois extraire les données de ce fichier.txt en passant par du langage c ou c++. Sachant que je dois afficher ma chaine extraite sous C++Builder_5 à partir d'un IHM (interface homme machine) que j'ai crée... Sachant que dans mon fichier.txt contient des points "." utilisé pour la séparation des données. je vous remercie d"avance tt aide seré la bienvenue.
      0
      1. Modérateur
        Merci de créer une nouvelle discussion, celle-ci se rapporte à Perl et non à C ou C++...
        0
      2. Modérateur
        @bluxSalut,

        j'ai loupé celui-ci ;-))
        0
    2. commen sa PERL faut dire que je suis débutant!!!!!! :s
      0
      1. Je suis en seconde année de BTS et je né jamai entendu parler de Perl?
        0
        1. Modérateur
          Faut changer d'école !
          0
      2. Donne moi une exemple stp sachant ke je dois récupéré ma chaine extraite dans un champ "edit" à partir d'un ihm crée sous c++BUIDER5.
        0
        1. Modérateur
          Créé un nouveau message, car tu as ajouté une demande concernant C à une question sur Perl...
          0
      3. j'ai une problème au niveau d'une extration de donnée G commenC a coder je vous donne un bout de mon codage
        é lerreur effectué lors de la compilation .

        void CExtraction::extraireMesures()
        {
        string ligne;
        ligne= lireLigne(1); //Ligne a lire
        ligne= ligne.substr(0,4);

        }

        //##ModelId=4086CA420121
        CMesure *CExtraction::lireMesure(int indice)
        {
        return &mesure;
        }

        //##ModelId=4086CA8F0122
        int CExtraction::lireNbMesures()
        {
        return 0;
        }

        //##ModelId=47A5D86E00AB
        CExtraction::CExtraction(string nomFichier)
        {
        nomduFichier= new CFichier("Test_BH.txt");
        }

        //##ModelId=47A5E07D0148
        CExtraction::~CExtraction()
        {
        //delete;
        }

        ERREUR:
        [Lieur Erreur] Unresolved external 'CExtraction::lireLigne(int)' referenced from:
        C:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\BUILDER\EXTRACTION\CEXTRACTION.OBJ
        0