2011-12-06 169 views
2

var str = "7-Dec-1985" var str = "12-Jan-1703" var str = "18-Feb-1999"獲取一個字符串(JavaScript)的最後一個數字

我多麼有大約就在一年拉出繩子嗎?我嘗試了許多不同的RegExp,但似乎沒有任何工作。

我會期待re = new RegExp(/(\d+)\D*\z/);已經工作,但可悲的是它沒有。

任何建議將非常讚賞

+0

注意're = new RegExp(/(\ d +)\ D * \ z /);'實際上是創建了兩個正則表達式對象,第一個是'/(\ d +)\ D * \ z /'然後傳遞給'RegExp' contstructor。通常情況下,只有在需要動態構造模式時,纔會使用'new RegExp',然後將其作爲字符串傳遞給構造函數。在所有其他情況下,re = /(\ d +)\ D * \ z /;'完全可以。 – Yoshi

+1

這裏沒有理由需要正則表達式。一般而言,RegExp非常昂貴,應謹慎使用。 – emyller

回答

8

由於所有的str(S)使用-作爲分隔符,這會爲你工作:

var str = "7-Dec-1985", 
    arr = str.split('-'), 
    year = arr[2]; 

console.log(year); 
+3

可以使用分割時,切勿使用正則表達式。 –

+0

非常感謝,這完美的作品。結果發現一年後有更多的信息。 「7-Dec-1985 12:00 AM」我能夠輕鬆地從字符串中刪除時間嗎? –

+2

「7-Dec-1985 12:00 AM」.split('')[0] .split(' - ')[2] – Yoshi

9

這應該這樣做

var year = str.match(/\d+$/)[0]; 
相關問題