Strings(一)

上一篇 / 下一篇  2008-12-23 22:12:28 / 个人分类:Perl-Cook Book

一、访问子字符串

Perl提供了2种方法能够很方便的访问子字符串:substr和unpack

 

1、substr

substr的函数形式为substr($string, $offset, $count),其中$string为源字符串,$offset为偏移位置(负数表示从尾端开始),$count表示截取的字符个数(如果省略则默认截取直到字符串结尾)。需要特别说明的是substr函数返回的是一个lvaluable值,可以直接把该函数的返回值当作一个已定义的字符串变量来使用。

如:

$str = "This is yashirolj's blog!";

$first = substr($str, 0, 1);    #T

$last = substr($str, -1);       #!

substr($str, 9, 11) = "my";     #把"yashiro's"修改为"my"

substr($str, -1) = "";          #删除最后一个字符"!"

 

2、unpack

当你一次需要访问字符串中的多个子字符串时,unpack用起来就很方便。unpack函数的形式为unpcak TEMPLATE, EXPE,其中EXPR可以省略(默认为$_)。

如:

$str = "to sleep or to eat";

($sleep, $eat) = unpack("x3, A5, x7, A3", $str);    #$sleep初始化为"sleep",$eat初始化为"eat"

#用unpack来实现substr

sub substr {
    my($what, $where, $howmuch) = @_;
    unpack("x$where a$howmuch", $what);
}

 

TAG:

 

评分:0

我来说两句

日历

« 2024-05-02  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 6075
  • 日志数: 12
  • 建立时间: 2008-12-22
  • 更新时间: 2009-01-11

RSS订阅

Open Toolbar