Perl Substr()函数处理字符串
substr函数只处理较长字符串中的一小部分内容,它需要三个参数:一个原始字符串、一个从零起算的起始位置,以及子字符串的长度。找到的子字符串会被返回。
substr的大致用法如下:
#正向提取:
substr(“hello world”,0,2)
#he
substr(“hello world”,2,2)
#ll
substr(“hello world”,3)
#lo world
#反向提取:
substr(“hello world”,-1,2)
#rl
substr(“hello world”,-2)
#ld
#特例:
加入你要提取的字符串长度超过原字符串的长度时,此函数不会报错。
#正向提取
substr(“hello world”,0,50)
#hello world
substr(“hello world”,1,50)
#ello world
#反向提取
substr(“hello world”,-50)
#hello world
substr(“hello world”,-1,50)
#hello worl
除了上述的一般用法外,substr还有一些特殊的用法:
my $string = "hello world"
substr("$string", 0, 5) = "Goodbye"
# $string现在的值为“Goodbye, world”,非常有意思。
#用来取代的字符串的长度不一定要与被取代的字符串的长度相等,其会自行调整长度
my $string_new = substr("$string", 0, 5, "Goodbye")
#此用法与前者等同
#当然也可以结合正则表达式使用
substr("$string", 0, 5) =~ s/ll/aa/g
#只针对前5个字符的处理
赞 (0)