Existe-t-il une fonction intégrée permettant de réduire les espaces de début et de fin tels que trim(" hello world ") eq "hello world"
?
Réponses
Trop de publicités?Voici une approche utilisant une expression régulière:
$string =~ s/^\s+|\s+$//g ; # remove both leading and trailing whitespace
Perl 6 inclura une fonction de trim:
$string .= trim;
Source: Wikipedia
Ceci est disponible dans String :: Util avec la méthode trim:
use String::Util 'trim';
my $str = " hello ";
$str = trim($str);
print "string is now: '$str'\n";
impressions:
la chaîne est maintenant "bonjour"
Cependant, il est assez facile de faire soi-même:
$str =~ s/^\s+//;
$str =~ s/\s+$//;
Non, mais vous pouvez facilement écrire le vôtre:
sub trim {
(my $s = $_[0]) =~ s/^\s+|\s+$//g;
return $s;
}
Ou en utilisant une substitution non destructive dans Perl 5.14 et versions ultérieures:
sub trim {
return $_[0] =~ s/^\s+|\s+$//rg;
}
Selon le fil de perlmonk :
$string =~ s/^\s+|\s+$//g;
Complétez le guide dans la recherche ici: http://learn.perl.org/faq/perlfaq4.html#How-do-I-strip-blank-space-from-the-beginning-end-of-a-string-