解析数组并查看字符串是否与

时间:2017-10-25 17:20:31

标签: regex perl

您好我想解析一个包含字符串的@array并查看是否存在"This is bird"字符串。如果在场则做其他事情。我是在perl做的。

我使用了if($string ~~ @array),但即使存在匹配的字符串也没有输出。如果我使用它,它无法比较两个字符串。 @array可以包含任意数量的字符串,有时甚至是1个字符串。有没有其他方法可以做到。

1 个答案:

答案 0 :(得分:2)

如果您使用智能匹配运算符(~~)在列表中查找元素,the syntax is

$string ~~ \@array

using the smart-match operator is dicey开始,一些不依赖于它的替代方法是使用grep

if (grep { $_ eq $string } @array) { ... }

List::Util::firstList::Util::any

use List::Util 'first';
if (first { $_ eq $string } @array) { ... }

use List::Util 'any';
if (any{ $_ eq $string } @array) { ... }