2013-05-06 47 views
2

我知道你可以得到一个子字符串substr但这只是start位置和length子字符串。是否有另一个函数利用开始和结束位置,还是我必须$ length = $ end- $ start?有没有办法让perl中的开始和结束位置的子字符串?

my $s = "The black cat climbed the green tree"; 
my $middle = substr $s, 4, -11; #<-- "black cat climbed the" 

回答

2

如果使用负指数,它从尾部计数

join '', (split //, $string)[$start..$end] 

但它可能是更好的使用substr$end - $start

0

你可以切片的字符串作为字符数组:

-1

在Perl中获取子字符串使用unpack函数。它的功能比substr更快。

打印解包( 'A5', '计算器');

print unpack(“x6 A6”,'stackoverflow');

输出:


verflo

相关问题