【发布时间】:2015-07-07 07:49:39
【问题描述】:
Perl 中的chomp 和trim 有什么区别?哪个更好用?什么时候用?
【问题讨论】:
-
Perl 中没有修剪功能。你说的是哪个模块?
Perl 中的chomp 和trim 有什么区别?哪个更好用?什么时候用?
【问题讨论】:
Chomp:chomp() 函数将(通常)从字符串末尾删除任何换行符。我们通常说的原因是它实际上删除了与$/(输入记录分隔符)的当前值匹配的任何字符,而$/ 默认为换行符。
如需更多信息,请参阅chomp。
正如 rightfold 所评论的那样 Perl 中没有 trim 函数。 通常人们写一个名为 trim 的函数(你可以使用任何其他的名称也)删除前导和尾随空格(或单引号或双引号或任何其他特殊字符)
trim 去除字符串两端的空格:
$str =~ s/^\s+|\s+$//g;
【讨论】:
trim 删除前导和尾随空格,chomp 仅删除尾随输入记录分隔符(通常是换行符)。
【讨论】:
Chomp:它只删除最后一个字符,如果它是一个换行符。
更多详情请见:http://perldoc.perl.org/functions/chomp.html
Trim:Perl 中没有名为 Trim 的函数。虽然,我们可以创建我们的函数来删除 Perl 中的前导和尾随空格。代码可以如下:
perl 修剪功能 - 删除前导和尾随空格
sub trim($)
{
my $string = shift;
$string =~ s/^\s+//;
$string =~ s/\s+$//;
return $string;
}
更多详情请见:http://perlmaven.com/trim
【讨论】:
chomp $string; :)
chomp 不会删除换行符,它会删除 $/ 的当前值(通常是换行符)。