如何检查 Perl 数组中是否包含特定值?


在 Perl 中,我们可以使用 "grep" 关键字来检查数组中是否包含特定值。"grep" 函数用于从项目列表中筛选函数参数中提供的输入。类似于 Linux,它使用给定的输入查找匹配的值。

grep() 方法

"grep" 是 Perl 的内置函数,我们可以将正则表达式传递给此函数。它将检查输入中是否存在匹配的值,并根据条件真假返回列表。

语法

由于它是 Perl 的内置函数,因此我们不需要包含任何库即可使用 grep() 方法。其语法如下:

grep(regular_expression, @my_array)

现在我们对 "grep" 函数有了一些了解,让我们通过一些例子来更好地理解它。

示例 1

考虑以下代码。这里我们没有使用 "grep" 函数。我们将简单地打印数组的元素,然后在下一个示例中添加 "grep" 关键字来查找数组是否包含特定元素。

Open Compiler
use warnings; use strict; my @weekdays = qw(Mon Tue Wed Thu Fri Sat Sun); print($weekdays[0]); print("\n"); print($weekdays[2]);

输出

如果在 Perl 编译器上运行以上代码,您将在终端上得到以下输出:

Mon
Wed

这里,我们只是创建了一个数组,然后显示了它的第一个和第三个元素。

示例 2

现在,让我们在上面的示例中使用 "grep" 方法,看看它如何帮助我们查找数组中的元素。考虑以下代码。

Open Compiler
use warnings; use strict; my @weekdays = qw(Mon Tue Wed Thu Fri Sat Sun); print($weekdays[0]); print("\n"); print($weekdays[2]); print("\n"); if (grep(/^Mon/, @weekdays)) { print "found it"; } else { print "Not present in array"; } print("\n"); if (grep(/^Ran/, @weekdays)) { print "found it"; } else { print "Not present in array"; }

输出

如果在 Perl 编译器上运行以上代码,您将在终端上得到以下输出。

Mon
Wed
found it
Not present in array

观察到第一个 "grep" 方法返回 "found it",因为 "Mon" 这个词存在于数组中。然而,在第二种情况下,"grep" 方法返回 "Not present in array",因为 "Ran" 这个词不存在于给定的数组中。

更新于:2022-12-26

7K+ 次浏览

启动您的 职业生涯

完成课程获得认证

开始学习
广告