搜索特定单词的字符串数组

时间:2016-06-20 15:09:08

标签: perl

首先,我根本不了解Perl,需要一个相当快速的答案。我有运行存储在数组中的命令的结果:

var SearchKeyword = (location.search.split('SearchKeyword=')[1]||'').split('&')[0];
  if ( (SearchKeyword && !term) || (SearchKeyword && term == "") ) {
    $("#Field126").attr("value", term);
  }

我需要做的是搜索数组以查看是否有任何元素包含单词“Merge”或单词“changed”(两者都不区分大小写)。

有人可以提出建议吗?

2 个答案:

答案 0 :(得分:2)

这里的工作工具是grep - 一个允许您根据列表指定过滤器的功能。您可以像Unix grep一样使用它,但它也允许更复杂的测试(例如运行代码)。

在你的情况下:

my @matches = grep { /merge|changed/i } @result; 

if ( @matches ) { 
    print "One or more lines matched\n";
}

答案 1 :(得分:0)

您可以使用正则表达式执行此操作。在此示例中,如果行匹配'merge'或'changed'(当然不敏感),则会打印该行:

#!/usr/bin/perl
use strict;
use warnings;

my @result = `command`;

foreach my $line (@result){
    if ($line =~ /merge|changed/i){
        print $line;
    }
}