PERL - extraire données d'un txt

[Fermé]
Signaler
Messages postés
1
Date d'inscription
mercredi 28 février 2007
Statut
Membre
Dernière intervention
28 février 2007
-
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
-
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

6 réponses

Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 092
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...:-))).
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.
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 092
Merci de créer une nouvelle discussion, celle-ci se rapporte à Perl et non à C ou C++...
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 545 >
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020

Salut,

j'ai loupé celui-ci ;-))
Messages postés
8
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
13 août 2008
2
commen sa PERL faut dire que je suis débutant!!!!!! :s
Messages postés
8
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
13 août 2008
2
Je suis en seconde année de BTS et je né jamai entendu parler de Perl?
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 092
Faut changer d'école !
Messages postés
8
Date d'inscription
jeudi 21 février 2008
Statut
Membre
Dernière intervention
13 août 2008
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.
Messages postés
23763
Date d'inscription
dimanche 26 août 2001
Statut
Modérateur
Dernière intervention
13 janvier 2020
3 092
Créé un nouveau message, car tu as ajouté une demande concernant C à une question sur Perl...
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