rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[perl] insérer des caractères dans une chaine

Posté par stephane, le lundi 21 août 2006 à 00:26:49
Bonjour,

J'essaie d'insérer des caractères dans une chaînes, en Perl. Ma chaine est par exemple :

12/1999-09/2002

et j'aimerais que cela me donne :

12/1999 à 09/2002

J'ai essayé avec tr mais je n'ai pu que remplacer le '-' par 'à' pour avoir
12/1999à09/2002.

merci
Répondre à stephane  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le lundi 21 août 2006 à 06:47:55
Salut,

perl -e '$v = 12/1999-09/2002; ($t = $v) =~ s/(?<=)-(?=\d)/ à /g;print $t,"\n";'
ou sans le test avant et test arrière
perl -e '$v = 12/1999-09/2002; ($t = $v) =~ s/(\d)-(\d)/$1 à $2/g;print $t,"\n";'
lami20j

P.S. Le teste avant et le test arrière nous permet de regarder avant et arrière pour s'assurer qu'on a une chiffre, mais on ne capture rien.

Ce n'est pas très important dans ce cas, mais en cas de plusieurs données l'efficacité peut augmenté.
Répondre à lami20j

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
stephane, le lundi 21 août 2006 à 21:47:11
Ca marche au poil ! Merci beaucoup !
Répondre à stephane

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
lami20j, le mardi 22 août 2006 à 00:00:05
Salut,

De rien.

lami20j

P.S. En général quand tu traites de chaînes de caractères en Perl pense aux expressions régulières (regex).
Ca ne veut pas dire que les regex sont la seule solution. Il y en a beaucoup d'autres ;)
Répondre à lami20j

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 lami20j, le mardi 22 août 2006 à 15:01:51
petite corréction

Au lie de
$v = 12/1999-09/2002
à écrire
$v = "12/1999-09/2002"
lami20j
Répondre à lami20j
Logiciels pertinents trouvés dans les téléchargements
Télécharger Ant Renamer 2.10.0Ant Renamer - ANT Renamer permet de renommer un grand nombre de fichiers et dossiers en quelques clics. Il ne fait que modifier les noms...Catégorie: Gestion de fichiers
Licence: Freeware/gratuit
Télécharger Lupas Rename 5.0Lupas Rename - Lupas Rename est un programme permettant de renommer plusieurs fichiers à la fois. Les fonctionnalités de ce logiciel...Catégorie: Gestion de fichiers
Licence: Freeware/gratuit
Télécharger Aide-mémoire 2.3Aide-mémoire - Ce logiciel permet de coller des aides mémoires (post-it) sur votre bureau. Son but est simple, éviter de décorer votre...Catégorie: Organisation
Licence: Freeware/gratuit
Télécharger MP3Tag 2.37aMP3Tag - Mp3tag est un éditeur de Métatags (ID3 tags) pour la plupart des formats audio courants. Il est capable de renommer un grand...Catégorie: Marquage (ID3)
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [perl] insérer des caractères dans une chaine »