2011-10-06 54 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

相关问题