1
$string1 = "2_0_1AU13682.0AV+0.2"
$string2 = "2_0_1AT+0.1CD13681.9"
我有這兩個字符串。如何從兩者中提取7個字符的十進制數字?從Perl中的字符串中提取數字
從字符串1將是13682.0
和字符串2將是13681.9
。
十進制數始終是7個字符,並始終在xxxxx.x
$string1 = "2_0_1AU13682.0AV+0.2"
$string2 = "2_0_1AT+0.1CD13681.9"
我有這兩個字符串。如何從兩者中提取7個字符的十進制數字?從Perl中的字符串中提取數字
從字符串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
工作就像一個魅力。謝謝 ! :) – Gsuz