我知道你可以得到一个子字符串,substr
但这只是start
位置和length
子字符串。是否有另一个使用开始和结束位置的函数,或者我必须 $length = $end-$start?
问问题
1538 次
3 回答
2
如果使用负索引,则从尾部开始计数:
my $s = "The black cat climbed the green tree";
my $middle = substr $s, 4, -11; #<-- "black cat climbed the"
于 2013-05-06T05:29:02.970 回答
0
您可以将字符串切片为字符数组:
join '', (split //, $string)[$start..$end]
但使用substr
with可能会更好$end - $start
。
于 2013-05-06T05:33:52.967 回答
-1
在 Perl 中获取子字符串的使用unpack
函数。它比substr
功能更快。
示例:
打印解包('A5','stackoverflow');
打印解包(“x6 A6”,'stackoverflow');
输出:
堆栈
verflo
于 2013-05-06T05:47:30.900 回答