2011-10-06 59 views
13

說我有以下幾點:在jQuery中是否有相當於PHP的`preg_replace()`?

<img src="http://www.site.com/folder/pic.jpg"> 

這條路徑可以是任何東西,我們基本上要獲得「pic.jpg作爲變量

目前,我們正在做它像這樣:

var first_img = $("#thumbnail-area li:first").find("img").attr("title"); 

這臺first_img變量作爲圖像的src,但我們希望做一個預浸比賽有點事象PHP搶「pic.jpg」。

這有正常工作,這樣的路徑可能是:folder/foo/bar/x982j/second822.jpg,它會返回second822.jpg

我怎樣才能做到這一點?

回答

19

你可以使用replace()這就好比是PHP的preg_replace()(它也接受PCRE,有一定的侷限性,如不看屁股)......

str.replace(/.*\//, '') 

jsFiddle

或者,您可以使用...

str.split('/').pop(); 

jsFiddle

+0

完美的生活保障。 – Latox

1

工作示例這裏:http://jsfiddle.net/jkeyes/sxx3T/

var re = new RegExp(".*\/(.*)$"); 
var src="folder/foo/bar/x982j/second822.jpg"; 
var m = re.exec(src); 
alert(m[1]); // first group 
+0

jsfiddle的鏈接顯示它的工作是好的,但你真的應該在這裏回答代碼,特別是當它和這個一樣短時。 – Spudley

+0

我做了,我在回答後幾乎立即編輯它。 –

5

jQuery是沒有必要在這裏; Javascript支持正則表達式,所以jQuery不是答案的一部分。

Javascript的正則表達式替換函數簡稱爲.replace(),它是一個字符串類的方法。你會使用它如下:

var mystring = 'this is a string'; 
mystring.replace(/is a/,'might be a'); 
//mystring is now equal to 'this might be a string'. 

這應該足以讓你開始。既然你在問題中引用了preg_replace(),我假設你已經知道如何正確使用正則表達式,而不需要詳細討論如何解決具體示例。

+0

var mystring ='這是一個字符串'; mystring = mystring.replace(/是/,'可能是'); – czLukasss

相關問題