perl中关于字符串的一些函数


查找子串:

index()和 rindex()

这两个函数用来在字符串中查找字串。rindex功能同index相同,只不过就是从后面开始找。
主要有两种用法,index($string,$subString);
index($string,$subString,$skip);

$skip参数表示跳过多少字符,用于指定开始位置,对rindex()函数来说是从字符串最后开始计算的。

substr()

参数:substr($string,$start,$length);

这个函数在用法上和c++的有点类似,不过就是这里的start位置可以为负数,这是个比较好的特性。负数表示从字符串最后开始计数。

而且可以对该函数的结果赋值,这样将修改在字符串中的相应子串。也是一个比较好的功能,有点类似replace的功能。

sprintf();

用来格式化一个字符串,用法和C中的sprintf是一样的。



关于排序:

sort函数默认是按照ASCII码顺序排序的,当我们在对一堆数字排序的时候,我们并不想按照ASCII码顺序排序,这是我们可以定制自己的排序规则。

  1. sub by_number {
  2.   if ($a < $b) {
  3.     return -1;
  4.   } elsif ($a == $b) {
  5.     return 0;
  6.   } elsif ($a > $b) {
  7.     return 1;
  8.   }
  9. }
则我们可以这样使用

@sortResut = sort by_number @nums;则可以得到正确的结果。

对上面这种-1,0,1的关系,可以使用更简单的写法,

  1. sub by_number {
  2.   $a <=> $b;
  3. }
当然也不一定要定义一个函数,当自己的排序规则比较简单时,可以直接在sort函数后面写上自己的规则

  1. @sortResult = sort { $a <=> $b } @nums;
对比较字符串可以使用cmp


  1. sort { $a cmp $b} @nums;
排序规则的灵活制定非常方便,这如果c++中传递的函数的指针,用来回调函数。

先写到这里,未完待续;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值