perl index和rindex的用法

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

  1. #! /usr/bin/perl
  2. use strict;
  3. use warnings;
  4. my $string = "I can learn much form perlcn.com";
  5. my $loc = index($string,"perlcn");
  6. print "$loc\n";
  7. $loc = index($string,"I");
  8. print "$loc\n";
  9. $loc = index($string,"Perlcn");
  10. print "$loc\n";
  11. $loc = rindex($string,"perlcn");
  12. 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这个字符串,这样可以大大的提供搜索的效率。

perl index和rindex的用法相关推荐

  1. python中seek(10、1)_Python中index()和seek()的用法(详解)

    1.index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t ('A', 'l ...

  2. python中index什么意思_Python中index()和seek()的用法(详解)

    1.index() 一般用处是在序列中检索参数并返回第一次出现的索引,没找到就会报错,比如: >>> t=tuple('Allen') >>> t ('A', 'l ...

  3. Perl split字符串分割函数用法指南

    本文和大家重点讨论一下Perl split函数的用法,Perl中的一个非常有用的函数是Perl split函数-把字符串进行分割并把分割后的结果放入数组中.这个Perl split函数使用规则表达式( ...

  4. c语言字符串匹配函数index,C语言(函数)学习之index、rindex

    函数定义:char *index(const char *s, int c); 头文件:    #include strings.h 函数说明:index()用来找出参数s 字符串中第一个出现的参数c ...

  5. Python的find、rfind、index、rindex方法的区别

    如下,find找不到会返回-1,index找不到会抛出异常. x = "apple pear peach banana watermelon lemon pineapple" pr ...

  6. perl use和require的用法

    本文和大家重点学习一下Perl use和require用法对比,这两个函数都是一个意思,加载和引用Perl的模块,或者是子程序,区别在于Perl use是在当前默认的里面去寻找,一旦模块不在指定的区域 ...

  7. 查找函数INDEX+MATCH的基础用法

    INDEX+MATCH函数是我们常用的查询函数,今天就给大家分享一下他的基础用法. 1.MATCH函数简介 1.MATCH函数查找指定项在单元格区域中的相对位置,即第几行第几列.它的语法是=MATCH ...

  8. Perl中use和require用法对比

    本文和大家重点学习一下Perl use和require用法对比,这两个函数都是一个意思,加载和引用Perl的模块,或者是子程序,区别在于Perl use是在当前默认的里面去寻找,一旦模块不在指定的区域 ...

  9. perl 字符串删除末尾几个字符_Perl字符串处理函数大全

    本文重点讨论Perl字符串处理函数的用法,每种函数都有各自的特点和作用, 下面请看本文详细介绍. Perl字符串处理函数 1. index 语法: position=index(string,subs ...

最新文章

  1. 编写自己的Shell解释器
  2. jquery常见操作分享
  3. js中使用0 “” null undefined {}需要注意
  4. 计算机房地板厚度,机房防静电地板 架空地板的技术参数与地板规格种类
  5. 详细剖析linux的内存管理方式(分段式、分页式、段页式),以及进程状态的具体关系
  6. php数组连起来,PHP 数组的拼接重组
  7. 计算机专业技能水平如何提升,市计算机:提升技能水平
  8. 安装Bas的先决条件
  9. 微型计算机作为载体的部件是,一种基于MCU物理载体的微型计算机系统的制作方法...
  10. Jetson Nano编译opencv-python和opencv-contrib-python
  11. 远程培训教程之POWERPOINT2003
  12. Android各控件Demo下载地址各种ui效果图
  13. 排序算法 稳定和不稳定_稳定和不稳定排序算法之间的区别?
  14. 重大噩耗:苹果账号无法付款!(11-20更新:账单地址和卡地址一样,信用卡名字和开发者名字一致,都无法付款)
  15. led灯光衰怎么解决_LED灯具怎么解决光衰问题?
  16. Android基于Facebook Rebound的动画效果框架Backboard demo (非常炫酷)
  17. 2021年——1024程序员节
  18. 博士员工离职率21.8%,任正非反思:华为这么大,英雄为何无用武之地?
  19. 用GIF图片来告诉大家程序猿的真实生活 ————“你熬了一整夜、耗了一整天,开始调试代码时:” 那张最有感觉了,你们感受一下。。。
  20. 宜信智能监控平台建设实践

热门文章

  1. hdu6086(AC 自动机)
  2. centos crontab环境变量问题
  3. pl/sql配置连接远程数据库oracle,本地没有安装oracle数据库的情况下
  4. Hibernate的like用法
  5. [转]Oracle字符串拼接的方法
  6. 汉字的动态编码与显示方案
  7. RSAC 2021:厂商发布概述
  8. 说实话,我主要是冲着奖金来的
  9. 3年后准确率仍达97%:利用谷歌语音转文本 API 绕过reCAPTCHA
  10. BZOJ3233:[AHOI2013]找硬币(DP)