Bonjour,
je suis débutant en perl et j'ai un peu de mal au niveau de l'extration de texte.
En fait, j'ai un texte du genre:
un deux trois mot1 quatre cinqmot2 six sept mot3 ....
et j'aimerai juste récuperer:
mot1
mot2
mot3
...
Ca doit etre simple mais je galere pas mal alors si vous avez une petite idee... merci
# Manque de précision !
Posté par zephred . Évalué à 1.
Ce sont les 2 possibilités qui me viennent en tête, il y en a sûrement d'autres !
[^] # Re: Manque de précision !
Posté par deniak . Évalué à 1.
# Comme ça vite fait
Posté par omnikron . Évalué à 3.
--- SCRIPT PERL ---
#!/usr/bin/perl
my $inFile = $ARGV[0];
my $searchWord = $ARGV[1];
if(!open(FIC, $inFile)) {
print "open error \n";
exit(1);
}
@lines = <FIC>;
close(FIC);
foreach $i (@lines) {
@words = split(/\s/, $i);
foreach $j (@words) {
if($j =~ /^$searchWord[0-9]+$/) {
print $j."\n";
}
}
}
---------------------------
fichier_entrée contient :
salut ca va toto1 bien toto2 quoi moi je toto3 sais toto4 pas quoi toto5 fouttre héhéhé ouai toto6
$ ./script.pl fichier_entrée toto > fichier_sortie
$ cat fichier_sortie
toto1
toto2
toto3
toto4
toto5
toto6
[^] # Re: Comme ça vite fait
Posté par deniak . Évalué à 1.
en fait, il se peut que mon texte soit de la forme
toto1toto2toto3unexemple
il n'y a aucun espace entre les mots et j'aimerai tout de meme récuperer
toto1
toto2
toto3
[^] # Re: Comme ça vite fait
Posté par Cheneson Cyril . Évalué à 4.
use warnings;
my $str = "toto1 toto2sdfvtoto3 toto9";
my @arr = $str =~ /(toto\d)/g;
print "ARR => " . join (",",@arr)
Cyril
[^] # Re: Comme ça vite fait
Posté par ecid . Évalué à 1.
Juste un check sur $#arr (si != -1 alors on affiche)
L'expression régulière peut être plus complexe, si l'on recherche
des mots différents /metro\d+|boulot\d+|dodo\d+/g
Ca sent un peu le TP ou l'exo non ? ;)
[^] # Re: Comme ça vite fait
Posté par deniak . Évalué à 1.
Non, ce n'est pas pour un tp mais pour une utilisation pratique (récuperer toutes les urls d'une page d'apres le code source).
En tout cas merci encore
[^] # Re: Comme ça vite fait
Posté par Cheneson Cyril . Évalué à 1.
Un ptit module CPAN pour t aider:
HTML::LinkExtor
http://search.cpan.org/~gaas/HTML-Parser-3.55/lib/HTML/LinkE(...)
@++
Cyril
[^] # Re: Comme ça vite fait
Posté par deniak . Évalué à 1.
@+
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.