在Perl中切割字符串

jom*_*lle 1 perl

我在Perl中有一个长度为23位的字符串.我需要将它分成不同的部分.一个变量中的前两个数字,另一个变量中的下一个3,另一个变量中的下一个4等等.基本上23个数字最终需要作为6个单独的变量(2,3,4,4,3,7)字符,其中订购.

我有什么想法可以像这样切断字符串?

cjm*_*cjm 8

有很多方法可以做到,但最短的可能是解包:

my $string = '1' x 23;
my @values = unpack 'A2A3A4A4A3A7', $string;
Run Code Online (Sandbox Code Playgroud)

如果需要单独的变量,可以使用列表赋值:

my ($v1, $v2, $v3, $v4, $v5, $v6) = unpack 'A2A3A4A4A3A7', $string;
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

7588 次

最近记录:

15 年 前