从字符串中提取所有数字并使用RegEx组合它们

时间:2016-02-26 15:17:40

标签: regex import.io

我正在将RegEx与在线刮刀结合使用,以便从网站中提取数据。刮刀允许您使用Reguar表达式仅提取部分字符串。

我想要提取的字符串如下所示:

€ 1.250.000 k.k.
€ 359.000 k.k.
€ 89.000 v.o.n.

我想得到的结果如下:

1250000
359000
80000

结果需要存储为数字。

我现在使用表达式[\d.]+,但这包括句点。如果我从表达式中删除句点,则不会在句点之后取数字。

有关于此的任何想法吗?

N.B。我使用的刮刀是import.io

1 个答案:

答案 0 :(得分:1)

有两种方法,我使用 JavaScript PHP 语言解释它们。

第一种方法:

Remove all non-numeric values,其余的就是你所需要的:

<强> JavaScript的:

var str = "€ 1.250.000 k.k.";
    str = str.replace(/\D+/g, '');
document.write(str);

<强> PHP:

$str = "€ 1.250.000 k.k.";
echo preg_replace("/\D+/", "", $str);

Online Demo

第二种方法:

从字符串中提取所有数字并将它们连接在一起以产生预期的数字:

<强> JavaScript的:

var str = "€ 1.250.000 k.k.";
    str = str.match(/\d/g).join("");
document.write(str);

<强> PHP:

$matches = array();
$str = "€ 1.250.000 k.k.";
$str = preg_match_all('/\d/', $str, $matches);
$str = implode("", $matches[0]);
echo $str;

Online Demo

相关问题