Recuperation des données d'un fichier texte - Perl - Programmation
Marsh Posté le 18-11-2019 à 11:16:08
Bonjour,
Quand il y a ceci : A NAAA_001 MARRT
Ça te fait combien de champs? 1, 2 ou 3?
Et donne un exemple de sortie voulue.
A+,
Marsh Posté le 19-11-2019 à 06:27:47
oui c'est ça A NAAA_001 MARRT => donne 3 champs
et je veux A#NAAA_001#MARRT
Marsh Posté le 19-11-2019 à 09:59:43
Je suis nul en perl, par contre Gilou vas surement pouvoir te dépanner, par contre faut poser ta question plus précisément.
Quand il dit un exemple de sortie, il parle des tes deux lignes complété avec les NULL aussi, pacque là on ne sait même pas quel est lé délimiteur entre les champs...
Marsh Posté le 19-11-2019 à 21:14:55
Au fait les deux lignes là se repetent tous de la même façon. il faut arriver à recupérer sur une ligne un groupe des 11 valeurs qui sont présents ou absents.
s'ils sont pas nlà, voilà pourquoi je dis que c'est null.
Marsh Posté le 19-11-2019 à 22:24:41
Bon la tu as une solution générique qui dépend pas du nombre de champs ni ne suppose les lignes complètes (mais qui suppose que tout les n-ième champs présents sont de même longueurs et alignés) .
Code :
|
Deux choses intéressantes dans ce code :
ligne 17 : $mask = $mask |. $_ ; utilisation d'un bitwise string operator |.
ligne 43: my @matches = $line =~ m/$pattern/; On construit la liste des matched groups.
Un truc un peu tricky ligne 28 : my $nbgroups = () = $pattern =~ /\(/gi;
si je fais my $nbgroups = my @a = qw(aa bb cc);
c'est équivalent a
my @a = qw(aa bb cc);
je crée une variable @a et je lui assigne 3 elts
my $nbelems = @a;
je crée $nbelems et lui assign le nb d'elements de @a.
En faisant my $nbelems = () = qw(aa bb cc); j'évite de créer une variable @a.
A+,
Marsh Posté le 16-11-2019 à 18:13:25
Bonjour,
je suis novice en perl et je veux traiter un fichier texte qui a des données(données espacées) comme ceci :
Je veux récupérer dans chaque ligne,chacune des données et separer par un diese"#" et mettrer null la où la donnée est vide.
Ensuite le mettre dans un autre fichier.
Comment faire
Message édité par lnquaidorsay le 19-11-2019 à 06:46:34