$string1 = "2_0_1AU13682.0AV+0.2"
$string2 = "2_0_1AT+0.1CD13681.9"
我有这两个字符串。如何从它们中提取 7 char 十进制数?
从字符串 1 开始,13682.0
从字符串 2 开始13681.9
。
十进制数始终为 7 个字符,并且始终采用以下形式xxxxx.x
$string1 = "2_0_1AU13682.0AV+0.2"
$string2 = "2_0_1AT+0.1CD13681.9"
我有这两个字符串。如何从它们中提取 7 char 十进制数?
从字符串 1 开始,13682.0
从字符串 2 开始13681.9
。
十进制数始终为 7 个字符,并且始终采用以下形式xxxxx.x
尝试使用正则表达式和匹配运算符执行此操作:
my $string1 = "2_0_1AU13682.0AV+0.2";
my ($res) = $string1 =~ m/(\d{5}\.\d)/;
print $res, "\n";
使用正则表达式,如下所示:
my @data = qw( 2_0_1AU13682.0AV+0.2 2_0_1AT+0.1CD13681.9 );
foreach my $str (@data) {
if ($str =~ /(\d{5}\.\d)/) {
print $1, "\n";
}
}
输出:
13682.0
13681.9