例如,我有一句话:
"99个国家共有99辆汽车,其中50辆有缺陷."
我需要找出如何获得99 + 50,所以基本上所有数字都没有重复的字符串并将它们加在一起.
我知道我应该使用正则表达式从字符串中提取数字,然后拆分它们并在它们前面放置一个"+"符号,但我尝试过的所有内容都会给我错误的数字.
对于整数:
use List::Util 'sum';
use List::MoreUtils 'uniq';
my $total = sum( uniq( $sentence =~ /\d+/g ) );
Run Code Online (Sandbox Code Playgroud)