在PERL中的分隔数据集中删除所有非数字但十进制

时间:2014-06-13 20:11:09

标签: regex perl

我有一个带分隔符的数据集,我想删除所有非数字数据,但如果有数字数据则保留小数点。

我无法弄清楚如何包含十进制本身,因为它现在用它来剥离它:

$output =~ s/[^0-9|\|]*//gi;

输出的示例是:     38.1毫米| 1013.88s | 81%| 22°

所以我想看看:38.1|1013.88|81|22

由于

2 个答案:

答案 0 :(得分:4)

音译操作符tr///可以删除字符:

$output =~ tr/0-9.|//cd;

答案 1 :(得分:1)

试试这个:

$output =~ s/[^\d.|]+//g;

这将删除除数字.|以外的任何字符。