Perl在第二个元素之后加入数组

时间:2020-06-16 19:53:46

标签: perl join split

我想在第二个空格后用一句话来说明所有内容。我是通过拆分和合并来实现的。我想在第二个元素之后加入所有内容,但是我不确定该怎么做。该句子可以包含几个单词,所以我不想对结束范围进行硬编码。

$sentence = "a b c and d";
@array = split(" ", $sentence);
$str = join(' ',$array[???]);

我想要一个看起来像这样的输出

c and d 

2 个答案:

答案 0 :(得分:5)

如果不需要数组,则可以split加上一个LIMIT,然后只需获取最后一项(-1):

use warnings;
use strict;

my $sentence = "a b c and d";
my $str = (split /\s+/, $sentence, 3)[-1];
print "$str\n";

答案 1 :(得分:3)

使用数组切片

use strict; use warnings;

my $sentence = "a b c and d";
my @array = split(" ", $sentence);
my $str = join(' ', @array[2 .. $#array]);
print "$str\n";

$#array是数组最后一个元素的数字/键。

选中https://perldoc.perl.org/perldata.html#Slices