【问题标题】:Difference between chomp and trim in Perl?Perl中chomp和trim的区别?
【发布时间】:2015-07-07 07:49:39
【问题描述】:

Perl 中的chomptrim 有什么区别?哪个更好用?什么时候用?

【问题讨论】:

  • Perl 中没有修剪功能。你说的是哪个模块?

标签: perl trim chomp


【解决方案1】:

Chomp:chomp() 函数将(通常)从字符串末尾删除任何换行符。我们通常说的原因是它实际上删除了与$/(输入记录分隔符)的当前值匹配的任何字符,而$/ 默认为换行符。
如需更多信息,请参阅chomp

正如 rightfold 所评论的那样 Perl 中没有 trim 函数。 通常人们写一个名为 trim 的函数(你可以使用任何其他的名称也)删除前导和尾随空格(或单引号或双引号或任何其他特殊字符)

trim 去除字符串两端的空格:

$str =~ s/^\s+|\s+$//g;

【讨论】:

    【解决方案2】:

    trim 删除前导和尾随空格,chomp 仅删除尾随输入记录分隔符(通常是换行符)。

    【讨论】:

    【解决方案3】:

    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 不会删除换行符,它会删除 $/ 的当前值(通常是换行符)。
    猜你喜欢
    • 2022-07-28
    • 2020-07-08
    • 2011-12-20
    • 2011-05-31
    • 2011-03-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 2018-12-23
    相关资源
    最近更新 更多