利用index和rindex找到子链

ZDNet软件频道 时间:2004-02-20 作者:ZDNet China |  我要评论(9)
本文关键词:perltips
Perl有两个函数,这两个函数可以为一个串寻找一个特别的子链,并返回匹配的偏移量。Index从前开始搜索,rindex从串的结尾开始搜索。在你需要知道一个串里包含另外一个串的时候Index和rindex非常有用。
本文译自Builder.com,未经许可请勿转载

Perl有两个函数,这两个函数可以为一个串寻找一个特别的子链,并返回匹配的偏移量。Index从前开始搜索,rindex从串的结尾开始搜索。在你需要知道一个串里包含另外一个串的时候Index和rindex非常有用。

Index和rindex有两到三个参数:串搜索,子串搜索和随意搜索。

Rindex通常用做分析串的路径。你可以通过搜索路径定界符来清楚的知道一个路径的最后一个元素。这里有个简单的例子:

$file = substr($path, rindex($path, '/')+1);

index通常被用在一个循环里,用它来确定每个子链出现的开始。在下面的例子里,一个数组被创建。这个数组的创建是利用了文本中的块关键字的偏移量来设置的。这个例子显示了如何使用可选补偿参数搜索每个关键字的出现。

$pos = 0;
while (($pos = index($text, $keyword, $pos)) > -1)
{
      push @offsets, $pos;
      $pos++;
}

 

 当你需要知道子链的偏移量的时候,Perl的两个index函数就会派上用场。但是,当你简单的测试一个串的存在的时候,你必须知道使用正规表达式搜索代替index/rindex。



责任编辑:李宁

欢迎评论投稿

百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134