Perl:获取数字的子字符串

时间:2019-12-05 00:02:26

标签: perl substring

当我运行以下代码时,我期望得到3,但是我得到345。实现此目标的最佳方法是什么?

#!/usr/bin/env perl

my $input = "12345";
my $number = substr($input, 2, 3);
print $number;

编辑:谢谢大家的回答,现在我误以为它是第一个和最后一个索引。

3 个答案:

答案 0 :(得分:2)

substr的第三个参数是字符串长度:

my $number = substr($input, 2, 1);

答案 1 :(得分:2)

substr()的文档指出,第三个参数是您要获取的字符串的长度。

my $input = "12345";

my $num = substr($input, 2, 1);

因此$input是字符串,2是偏移量,1是要提取的字符数(根据文档,是'Length')。

答案 2 :(得分:-1)

只需按照以下步骤进行娱乐即可

use strict;
use warnings;

use feature 'say';

my $input = "12345";

my $number_1 = (split '', $input)[2];
my @number_2 = (split '', $input)[2..4];

say $number_1;
say @number_2;

输出

3
345