perl:如何知道字符串在列表中的匹配位置?

里奥·普赛洛

我有一个类似于这个的列表:

my @foo=qw(bar foo fou foobar);

我想获得匹配的数组(例如:与 foo)。我现在使用这个代码:

my $i=0;
foreach (@foo)
{
    print "$i\n" if "$_" eq "foo";
    $i+=1;
}

返回:

1

这段代码有效,但我想知道是否有更聪明的方法来做到这一点。

三聚氰胺

您可以使用grep以下方法执行此操作

my @foo = qw(bar foo fou foobar);
my @indices = grep { $foo[$_] eq 'foo' } 0 .. $#foo;
# @indices = (1)

这将为您提供所有匹配索引的数组。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Perl:如何匹配字符串中的特定字符?

如何确定模式在字符串中匹配的位置?

是否可能知道匹配在主题字符串中的位置

如何找到字符串在列表中的位置?

如何匹配从字符串中特定位置开始的字符串?

如果字符串与列表中的字符串匹配,如何从句子中删除字符串

如何检查行是否包含列表中的字符串并打印匹配的字符串

列表中的字符串匹配

在Perl中,如何将一个字符串与其他字符串列表进行匹配?

在Perl模式匹配中打印匹配的字符串

如何加快字符串与字符串列表的匹配?

如何从匹配的其他列表中替换列表中的字符串

如何以字符串的形式找到知道名称的列表?

如何从包含索引位置的列表中的字符串的索引位置打印

如何找到R中向量中每个元素的文本字符串的匹配位置?

如何在PostgreSQL中的字符串中获取正则表达式匹配的位置?

如何匹配的字符串(?,?,?)在Java中

如何匹配文件中的字符串

如何匹配句子中的字符串

如何使字符串中的字母匹配

如何知道一个字符串是否属于python中字符串列表的组合?

从列表中获取匹配的字符串并创建新列表

#!/ usr / bin / perl,如何将字符串中的关键字与数字匹配

Perl-REGEXP如何匹配没有替代模式的单词中的子字符串?

Perl中的字符串匹配用于多种模式

匹配 Perl 字符串中的美元符号

如何在Perl中找到单个字符串的匹配正则表达式的位置?

如何找到与给定字符串匹配的字符串类型项(包含在子列表中)的所有索引?

考虑到空格,如何将列表中的精确字符串匹配到更大的字符串?