2011-06-18 128 views
0

从字符串中获取数字的最佳方法是什么?从字符串中提取数字

字符串总是开始n并与任意数量即:

n1 
n2 
n3 
n10 
n100 
n1000 
n99999 
n9999999999999 

等结束。

回答

2

如果你能保证该字符串总是看起来像,然后

num = parseInt(str.substring(1)); 
+0

substr较短^^ – bopjesvla

+0

'substring'是一个词。 :) – cHao

2

如果总是以一个单一的“N”开始,只是保持简单:

var number = parseInt(value.replace('n', '')); 
+2

为什么要投票? – Kon

0

我的建议:

$('dt').each(
    function(){ 
     var n = $(this).text().substring(1); 
     $('<dd />').text(n).insertAfter($(this)); 
    }); 

JS Fiddle demo

显然,您选择使用哪些元素并不重要(我选择了dtdd作为输入和输出之间的隐含关系)。重要的部分是substring()函数; 1的值指的是生成的子字符串的起点(从第二个字符开始,因为JavaScript使用基于零的数组)。

有第二数量通过,在形式substring(1,4)所得子会从第二个字符开始,与第五结束,除非字符串在其上substring()工作是一个长度比所述第二参数更短的,在这种情况下,它被视为等于字符串的长度。

参考:

1
Number.of = function (number) { 
    if (typeof number === "number") 
     return number; 

    var number = number + '', 
     regnum = /(-)?[0-9]+\.?[0-9]*/.exec(number); 

    return regnum ? (new Function('return ' + regnum[0]))() : 0; 
}; 

然后只需运行..

Number.of('n12345'); // 12345 

煤矿是一个令人难以置信的谨慎做法,但究竟会拉一批出来的东西。

Number.of('Hel5lo'); // 5 

并且总是返回一个数字。

Number.of('There is no number here.'); // 0 

这可能会或可能不会对您有所帮助。