Expression regulière avec perl

Résolu/Fermé
syl - 7 juin 2010 à 20:16
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 8 juin 2010 à 09:58
Bonjour,

Je cherche à identifier des numeros dans un text puis de les remplacer par rien par le script ci-desous mais le script ne marche pas. merci de m'indiquer ce qui ne vas pas si possible.

#!/usr/bin/perl -w
open(FILEINPUT,"$ARGV[0]") || die "erreur de lecture de fichier :$!";
while ($ligne=<FILEINPUT>){
if ($ligne=~ s/[0-9]//g){
print $ligne;
}
}
close(FILEINPUT);
A voir également:

5 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
8 juin 2010 à 09:04
hello
qu'est ce qui ne marche pas ?
0
Hi, Je n'arrive pas a reconaitre les nombres dans un text pour les remplacer par rien. Quand je passe le programme sur le text il me sort le text sans modification. Ce que je souhaite faire c'est de passer le script sur le text pour que l'expression reg. remplace les nombre par rien. Je crois mon problème se trouve au niveau 'print $ligne

open(FILEINPUT,"$ARGV[0]") || die "erreur de lecture de fichier :$!";
while ($ligne=<FILEINPUT>){
# on cherche une balise : <[^>]+>
$ligne=~s/0-9//g;
print $ligne;
}
close(FILEINPUT);
0
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
8 juin 2010 à 09:32
chez moi, il fonctionne
$ cat a3
a 1 a 2 a 3
b 2 b 4 b8 b 0
c 10 234 f 33 g 4
$ ./p4 a3
a  a  a 
b  b  b b 
c   f  g 
$ 
0
Merci Dubcek, ça fonctionne aussi finalement. J'ai remplacer l'expr. reg. par ça $ligne=~s/[0-9]//g;
0

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

Posez votre question
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
8 juin 2010 à 09:58
avec le if, il n'affiche que les lignes qui contenaient un chiffre
0