2011-02-25 39 views
1

選擇了一個動態的字符串我怎樣才能選擇這些例句如何從一個句子

" 1  SAMPLE SAMPLE 1" 
" 20  SAMPLE SAMPLE 2" 

我要隔離這些行第一號的第一個數字。

我嘗試了一些JavaScript附帶的字符串函數,但似乎無法使它們工作。我不想要空格,我只需要數字。

回答

3

這應該做到這一點。

var num = +/\d+/.exec(" 1  SAMPLE SAMPLE 1")[0]; 

如果您並不需要它轉換爲數字,那麼你就可以擺脫第一+的。

var num = /\d+/.exec(" 1  SAMPLE SAMPLE 1")[0]; 

如果你不能確定是否有將是一個數,你會想擺脫[0],並覈實後提取的結果。

var num = /\d+/.exec("  SAMPLE SAMPLE "); 

if(num) num = num[0]; 

還是因爲它是一個數字,你可以用它+轉換從一陣列。

if(num) num = +num; 
+0

嗨,這是我的jsfiddle你的建議http://jsfiddle.net/s2xi/AhYx3/4/ – Eli 2011-02-25 03:03:23

+0

@ s2xi:這裏有一個更新](http://jsfiddle.net/ AhYx3/5 /)這不是你想要的最終結果,但它更接近。你引用了一個不存在的text3變量,而且似乎有些元素沒有找到一個數字,所以我從我的答案'if(num)num = num [0];'中做了這個以確保在嘗試訪問'[0]'之前發現了一個匹配項。 – user113716 2011-02-25 03:09:24

+0

對不起,這是正確的一個http://jsfiddle.net/s2xi/AhYx3/7/我的問題是,我仍然得到結束號碼,如果我做了一個替換(數字,''),那麼它會刪除數字有它們的數組段。但是如果這個數字出現在它所需的數組段中,那麼它就不是正確的方法。你看我在說什麼? – Eli 2011-02-25 03:14:31

0
var num = " 1  SAMPLE SAMPLE 1".match(/^\s*?(\d).*?$/)[1];