Perl Присоединить массив после второго элемента - PullRequest
2 голосов
/ 16 июня 2020

Я хочу получить все в предложении после второго пробела. Я делаю это путем разделения и присоединения. Я хочу присоединиться ко всему, что находится после второго элемента, но не знаю, как это сделать. В предложении может быть несколько слов, поэтому я не хочу жестко кодировать конечный диапазон.

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

Мне нужен результат, который выглядит так:

c and d 

Ответы [ 2 ]

5 голосов
/ 16 июня 2020

Если вам не нужен массив, вы можете split с LIMIT, а затем просто взять последний элемент (-1):

use warnings;
use strict;

my $sentence = "a b c and d";
my $str = (split /\s+/, $sentence, 3)[-1];
print "$str\n";
3 голосов
/ 16 июня 2020

Использование срез массива :

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

...