2017-05-09 44 views
0

我有這個RegExp下面的工作。但是退貨是TrueFalse。我想要的是獲取字符串的最後一個DOT,並在DOT之後返回最後一個字符串。舉例如下,我有image.jpeg.jpeg我想返回最後的jpeg。我也嘗試g.match(x),但它給了我一個錯誤。 g.match is not a functionJS得到一個字符串的最後一個點,並在其後返回字符串

var x = "image.jpeg.jpeg" 
 
var g = /(.*)\.(.+)/; 
 
alert(g.test(x));

+1

'x.substr(x.lastIndexOf('。')+ 1,x.length)' – Rayon

+0

請參閱http://stackoverflow.com/questions/9839445/string-manipulation-getting-value-after-the- last-position-of-a-char –

+0

@Rayon x.length的用途是什麼? – KiRa

回答

3

或者,你可以使用split方法,像這樣:

var x = "image.jpeg.jpeg"; 
 
var ans = x.split('.').pop(); 
 
console.log(ans);

+0

.pop得到最後一個分割? – KiRa

1

試試這個:

var x = "image.jpeg.jpeg" 
 
var g = /(.*)\.(.+)/; 
 
alert(x.match(g)[2]);

匹配字符串(正則表達式不)的方法,它的正則表達式argiment

0

試試這個:

var matches = x.match(g); 

if (matches.length === 0) { 
    console.log('Error'); 
    return; 
} 

var last = m[m.length - 1] 

alert(last); 
0

使用本:

var x = "image.jpeg.jpeg" 
 
var g = /\.([0-9a-z]+)$/i; 
 
console.log(x.match(g)[0]); //with a dot 
 
console.log(x.match(g)[1]); //extension only

相關問題