分享

(转载)perl: index rindex

 公彦栋 2017-12-06

perl index和rindex的用法

perl index和rindex的用法

perl中,如果我们要查找一个字符子串在字符串中的位置,perl给我们提供了两个函数,一个为index,另外一个rindex。从两个函数上我们其实就可以看出,index为从前往后查找(从左到右),而rindex则是从后往前(从右到左)查找。下面我们就通过一个例子来看看index和rindex是怎么工作的。

  1. #! /usr/bin/perl
  2. use strict;
  3. use warnings;
  4.  
  5. my $string = "I can learn much form perlcn.com";
  6. my $loc = index($string,"perlcn");
  7. print "$loc\n";
  8. $loc = index($string,"I");
  9. print "$loc\n";
  10. $loc = index($string,"Perlcn");
  11. print "$loc\n";
  12. $loc = rindex($string,"perlcn");
  13. print "$loc\n";

上面这个程序的打印如下:

  1. 22
  2. 0
  3. -1
  4. 22

从上面程序的打印结果我们也可以看出,如果index或rindex能够匹配到字符串,则会返回子字符串在整个字符串中的位置,注意此处的位置以0开始,如果在字符串中没有找到这个子串,则index或rindex返回-1.
当然,如果你能够判断出子串在字符串中的大概位置,你可以给index或rindex指出开始搜索的起始位置,例如:

  1. my $loc = index($string,"perlcn"20);

我们指定index从第20个字符的位置开始搜索perlcn这个字符串,这样可以大大的提供搜索的效率。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多