insertion dans une chaine avec "s//"

insertion dans une chaine avec "s//" - Perl - Programmation

Marsh Posté le 31-05-2005 à 17:20:41    

J'aurais aimé savoir si il existait une méthode puissante pour par exemple prendre une chaine de caracteres de 200 caracteres et insérer tous les 10 caracteres un "\n".
 
Quelqu'un aurait il une idée ?
 
Personnellement j'ai fait ca avec une boucle mais je trouve ca tres lourd et j'ai l'impression de passer a coté de la puissance du traitement des chaines par PERL.

Reply

Marsh Posté le 31-05-2005 à 17:20:41   

Reply

Marsh Posté le 31-05-2005 à 17:41:58    

$str =~ s/(.{10})/$1\n/g;
 
et si tu ne veux pas inserer de \n quand il y en a deja un dans la chaine et qu'il forme une ligne de moins de 10 caracteres, tu peux faire ca:
 
$str =~ s/([^\n]{10})/$1\n/g;

Reply

Marsh Posté le 31-05-2005 à 18:33:08    

Merci beaucoup

Reply

Marsh Posté le 31-05-2005 à 20:38:56    

Citation :

j'ai l'impression de passer a coté de la puissance du traitement des chaines par PERL


 
Les expressions régulières sont partie intégrante du PERL, avec on peut faire de très puissantes choses avec peu d'efforts.
 
La documentation sur le site officiel de PERL (http://www.perl.com) est fournie et détaillée, personnellement je consulte très souvent les docs (au format papier avec le bouquin d'O'reilly, mais c'est la même chose que sur le site).
 
Je te propose d'aller jeter un oeil sur ce lien en particulier :
http://www.perl.com/doc/manual/html/pod/perlre.html
 
 :)


Message édité par Elmoricq le 31-05-2005 à 20:39:58
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed