PERL - extraire données d'un txt

Fermé
Polux100 Messages postés 1 Date d'inscription mercredi 28 février 2007 Statut Membre Dernière intervention 28 février 2007 - 28 févr. 2007 à 14:32
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 27 févr. 2008 à 19:13
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
A voir également:

6 réponses

blux Messages postés 26107 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 5 juin 2024 3 292
1 mars 2007 à 09:16
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
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
blux Messages postés 26107 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 5 juin 2024 3 292
21 févr. 2008 à 13:20
Merci de créer une nouvelle discussion, celle-ci se rapporte à Perl et non à C ou C++...
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 567 > blux Messages postés 26107 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 5 juin 2024
27 févr. 2008 à 19:13
Salut,

j'ai loupé celui-ci ;-))
0
Sissiman_972 Messages postés 8 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 13 août 2008 2
21 févr. 2008 à 13:27
commen sa PERL faut dire que je suis débutant!!!!!! :s
0
Sissiman_972 Messages postés 8 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 13 août 2008 2
21 févr. 2008 à 13:32
Je suis en seconde année de BTS et je né jamai entendu parler de Perl?
0
blux Messages postés 26107 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 5 juin 2024 3 292
21 févr. 2008 à 14:04
Faut changer d'école !
0

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

Posez votre question
Sissiman_972 Messages postés 8 Date d'inscription jeudi 21 février 2008 Statut Membre Dernière intervention 13 août 2008 2
21 févr. 2008 à 13:48
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
blux Messages postés 26107 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 5 juin 2024 3 292
21 févr. 2008 à 14:05
Créé un nouveau message, car tu as ajouté une demande concernant C à une question sur Perl...
0
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