Javascript:从字符串中提取不同位置的数字?

时间:2011-05-10 06:55:26

标签: javascript regex

我有一个如下所示的字符串

Original string  : results

1apple23oranges  : 1 , 23

4apples1oranges  : 4, 1

25oranges        : 25

通过正则表达式或任何,我无法弄清楚如何将上述结果作为javascript中的纯数字。

有什么想法吗?

4 个答案:

答案 0 :(得分:7)

使用正则表达式\d+,这意味着从0到9(\d)的任何数字重复一次或多次(+)。限定符g将使搜索成为全局(即:不要在第一次搜索时停止)。

resultArray = original.match(/\d+/g);

这将产生一个包含所有数字的数组,使用“,”分隔符连接它们,使用函数join()

resultString = original.match(/\d+/g).join(", ");

答案 1 :(得分:3)

'1apple23oranges'.match(/\d+/g);

答案 2 :(得分:0)

对字符串对象使用匹配函数,表达式为.match(/ \ d + / g)。

EG。 var a =“1apple23oranges”

 var res = a.match(/\d+/g)

您可以用逗号分隔每个值。

答案 3 :(得分:0)

尝试"1apple23oranges".match(/(\d+)/g);

注意:如果您需要将数字作为整数值,那么您必须使用parseInt。如果您正在使用jQuery,那么您可以将所有整数都放在数组中

var arr = new Array(); 
$.each("1apple23oranges".match(/(\d+)/g), function(index, value){ arr.push(parseInt(value, 10));});