
Envoyé par
nico38100
Bonjour
Y'aurait il une fonction equivalent a preg_replace en Perl ? pour ce bout de code
1 2
|
labels[$id]=preg_replace('#^(\d{4}(-\d{2})-(\d{2}))$#','$2/$3',$date); |
Merci d'avance
Cordialement
Si ton perl est au moins 5.14 tu peux utiliser le suffixe r dans une substitution
1 2 3 4 5
| Taisha:~/tttmp $ perl -E 'say $_, q{ --> }, s#^(\d{4}(-\d{2})-(\d{2}))$#$2/$3#r for @ARGV' 2013-11-19 20131119 foo
2013-11-19 --> -11/19
20131119 --> 20131119
foo --> foo
Taisha:~/tttmp $ |
(incidemment, est ce que le premier '-' ne devrait pas être en dehors des parenthèses ?)
Tu peux l'utiliser comme suit :
$labels[$id] = $date =~ s#^(\d{4}(-\d{2})-(\d{2}))$#$2/$3#r;
avec une version antérieure ou si tu ne veux pas utiliser le suffixe r tu peux écrire
($labels[$id] = $date) =~ s#^(\d{4}(-\d{2})-(\d{2}))$#$2/$3#;
Partager