2011-06-18 211 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 

這可能會或可能不會對您有所幫助。