Perl Substr()函数及函数的应用

  作者:bea

perl substr()函数例子,substr()函数实例代码 - 返回EXPR的子字符串,起始是为字符串内的偏移量OFFSET。 语法: substr EXPR, OFFSET, LEN, REPLACEMENT substr EXPR, OFFSET, LEN substr EXPR, OFFSET 定义和用法 返回EXPR的子字符串,起始是为字符串内的偏移量OFFSET。如果OFFSET为负,开始有很多的字符结尾的字符串。如果LEN指定,返回的字节数,或所有的字节,直

perl substr()函数例子,substr()函数实例代码 - 返回EXPR的子字符串,起始是为字符串内的偏移量OFFSET。


语法:


substr EXPR, OFFSET, LEN, REPLACEMENT
substr EXPR, OFFSET, LEN
substr EXPR, OFFSET


定义和用法


返回EXPR的子字符串,起始是为字符串内的偏移量OFFSET。如果OFFSET为负,开始有很多的字符结尾的字符串。如果LEN指定,返回的字节数,或所有的字节,直到结束的字符串(如果不指定)。如果len为负数,结束掉多少个字符的字符串。


如果更换REPLACEMENT 指定的子串替换,替换REPLACEMENT 的字符串。


如果您指定的子串,越过结尾的字符串,返回原始字符串的唯一有效的元素。


返回值


字符串


例子


试试下面的例子:




#!/usr/bin/perl -w
#by www.yiibai.com
$temp = substr("okay", );
print "Substring valuye is $temp
";
$temp = substr("okay", ,);
print "Substring valuye is $temp
";


这将产生以下结果:


Substring valuye is ay
Substring valuye is ka


实例解析Perl substr函数应用


本文和大家重点讨论一下Perl substr函数应用,在编写perl程序的时候,我们有时需要截取一个字符串中的部分内容,这个时候通常会使用substr函数实现这个功能。


Perl substr函数应用


在编写perl程序的时候,我们有时需要截取一个字符串中的部分内容,这个时候通常会使用Perl substr函数实现这个功能。




$str="testtest";
printsubstr($str,0,5);
$str="testtest";
printsubstr($str,0,5);


运行上面的程序,输出结果"testt",这个是我们想要的结果。再看看下面的程序:




$str="测试文本";
printsubstr($str,0,1);
$str="测试文本";
printsubstr($str,0,1);


这时候输出了一个"?",这显然不是我们想要的结果。因为在perl中,所有从外部输入的字符串(包括写在程序里的字符串)都会当成字节来处理,"printsubstr($str,0,1);"这句话只是把"测试文本"的第一个字节取出来,并且用print输出,然而单个字节是不能表示一个中文字符的,所以就输出了"?"。


如果想要上面的程序输出正确的结果,就需要使用decode函数把"测试文本"转换成perl内部字符串,让perl把"测试文本"当成字符串来处理,这样再用"substr($str,0,1);"截取的就不是一个字节,而是一个汉字。


下面看一下Perl substr函数的用法:


指令:substr


语法:substr($string,offset,length)


offset代表起始字符的位置,length代表引用的字符串长度,如果省略length则代表从起始值到字符串的最后一个字符长度。而


offset如果是负值的话,就会从字符串右边开始指定字符。


示例:




$s=substr("perl5",2,2);#这时$s="rl";
$s=substr("perl5",2);#这时$s="rl5";
$s=substr("perl5",-2,2);#这时$s="er";




有用  |  无用

猜你喜欢