Rechercher : dans
Par :

Perl : fonction de suppression

Dernière réponse le 1 jui 2004 à 16:03:58 Alex, le 1 jui 2004 à 12:34:25 
 Signaler ce message aux modérateurs

Salut a tous!
J'ai un fichier qui contient plusieurs lignes.Je voudrais scanner ce fchier ligne par ligne afin de supprimer tous les caracteres non numeriques et de laisser les caracters numeriques sur la meme ligne(ou ils se trouvaient). Donc, on touche pas a tous les chiffres et on supprime les autres.
J'utilise un truc du genre /[^0-9]/ pour reperer les caracteres non alpha mais je sais pas quelle fonction utiliser pour supprimer ceux-ci sachant que je ne connais pas leur position dans la ligne (donc substr inutile selon moi).

Si quelqu'un peut m'aider ou me donner un bout de prog faisant ca, je lui en serais tres reconnaissant
Merci d'avance! salut!

Meilleures réponses pour « perl : fonction de suppression » dans :
Perl - Les fichiers Voir La notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Perl - Les fonctions Voir La notion de fonction et de procédure On appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instruction par simple appel de la procédure dans le corps du programme principal. Les procédure permettent d'exécuter dans plusieurs...
Supprimer complètement un programme VoirMalgré la désinstallation d'un programme, il se peut que des clés de registre ou des fichiers soient encore présents sur le PC. Si la méthode "classique" (clic droit/supprimer) ne fonctionne pas, il suffit d'utiliser l'éditeur du registre. Mise en...
Supprimer les accents avec PHP VoirPour un tas de raisons, il est parfois utile de convertir un texte accentué en un texte sans accents. Voici une fonction permettant de transformer très simplement la quasi-totalité des accents en leur équivalent non-accentués : function...
Supprimer le panneau de notification UAC sur Windows 7 VoirSupprimer de votre écran L' UAC ! ( User Account Control ) de Windows 7 L'UAC est une fonctionnalité qui a été ajoutée à Vista, et que l'on retrouve dans Windows 7. Ellle sert à contrôler l'administration de l'ordinateur, et elle se voit...
Télécharger Flock VoirFlock est un navigateur web gratuit monté à partir de la technologie sécurisée et rapide de Mozilla. L'application n'est pas uniquement un navigateur pour la recherche sur Internet, mais il intègre également des fonctions supplémentaires. Flock vous...
Télécharger Reaper VoirReaper 3 est un logiciel assez complet d'édition audio (M.A.O) et pas cher du tout contrairement à ses concurrents direct. Il est gratuit 30 jours sans fonction supprimé. Vous aurez certainement besoin de vous armer de plugins VST/VSTi (il y en a...
Perl - Entrée et sortie standards VoirQu'appelle-t-on entrée standard et sortie standard ? Perl permet d'écrire sur la sortie standard, appelée STDOUT et de lire sur l'entrée standard (STDIN). Il s'agit de deux descripteurs fournis par le système d'exploitation et permettant...
Introduction au e-Business VoirIntroduction au e-Business Il est aujourd’hui reconnu que les nouvelles technologies, en particulier l'accès à Internet, tendent à modifier la communication entre les différents acteurs du monde professionnel, notamment : les relations entre...
Fichier DLL VoirFormat DLL Un fichier DLL est une librairie dynamique, c'est-à-dire un fichier destiné au système d'exploitation pour lui fournir des fonctions supplémentaires. Pour plus d'informations sur les DLL, vous pouvez vous reporter à l'article suivant :...

1

damien, le 1 jui 2004 à 13:05:39

Un truc du genre:
cat test.C | perl -ne "s/[^0-9]//g; print"

devrait marcher

A+
Damien

Répondre à damien

2

 Alex, le 1 jui 2004 à 16:03:58

Merci beaucoup pour ton truc du genre, ca fonctionne bien de cette facon.enfin presque, juste un bidouillage de ma part pour integrer ca dans un fichier et faire en sorte que le resultat ne s'affiche pas sous le shell (j'utilise Unix) et pas en une seule ligne.
Mes (petis) changement pour ceux que ca interesse sont:
open(f,"tot.txt");
open(f1,">>res.txt");
while(<f>){
s/[^0-9]//g;
print f1; print "\n";
}
close f1; close f;

Encore merci a toi Damien

Répondre à Alex