暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Perl基础函数---grep

EasyPerl 2021-08-13
1245

在数据批量处理时, 我们经常需要使用grep函数, 来批量处理数组内容。

grep的具体用法如下:

grep EXPR, LIST

grep BLOCK  LIST


grep函数针对每个元素, 临时的把$_轮流设置为每个元素, 再根据表达式或者代码块来进行计算, 具体表现非常类似foreach。


grep函数在不同的环境下, 返回值是不同的。


在标量环境下, grep返回表达式为真的次数,比较常用的情景如下:

my @strs = ('hel', 'eeer', 'geehh', 'reddgh');

my $num = grep { /h/ } @strs;

print $num;

当然另一个方式也是一样的效果

my $num = grep /h/,  @strs;

这里我们得到所有带字母h的字符串的数量。


在列表环境中, grep函数返回一个列表, 该列表包含所有表达式为真的元素,比如:

my @strs = ('hel', 'eeer', 'geehh', 'reddgh');

my @hstrs = grep /h/,  @strs;

print @hstrs;

同样的例子, 同样的表达式, 在列表环境中, 我们得到的就是所有包含h的元素组成的一个列表。

当然我们也可以在过滤的同时, 将h改变成l:

my @hstrs = grep s/h/l/,  @strs;


就如我们的例子中的内容, grep在标量环境可以用来统计符合特定要求的元素个数, 在列表环境中, 常用来过滤或者批量修改元素

文章转载自EasyPerl,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论