2011-01-12 113 views
0

我是JavaScript/jquery中正則表達式和任何字符串操作中最糟糕的人,你可以請一些幫助嗎?Javascript,字符串操作,正則表達式或其他東西

http://farm5.static.flickr.com/4040/5160997583_5ea677e4e1_s.jpg

這是需要從這個網址得到

感謝您幫助的URL結構的例子!

+1

您需要再解釋一下自己:您是否想要查找文件名的前10個字符?你想查找文件名的所有字符到下劃線嗎?你想查找文件名的起始位? – 2011-01-12 15:22:50

回答

2

假設結構始終是相同的,您要查找的文件名了的所有字符爲下劃線的第一次出現,你可以這樣做:

var str = "http://farm5.static.flickr.com/4040/5160997583_5ea677e4e1_s.jpg"; 
var num = str.split("/"); 
num = num[num.length - 1].split("_")[0]; 
alert(num); 

str.split("/")[-1]得到5160997583_5ea677e4e1_s.jpg然後我們將該字符串拆分爲_並獲取該字符串的第一部分。

或者,你可以這樣做:

var num = str.replace(/\/(\d+)_[^\/]+$/i, "$1"); 
+0

JavaScript中不能有負數組索引。 – tillda 2011-01-12 15:22:04

+0

@tillda - 好點,太多的Python。謝謝! – 2011-01-12 15:26:19

1

var code = url.match(/\/([0-9]+)_[^\/]*$/)[1];

(編輯以更嚴格)

0

一個正則表達式,將找到的文件名的起始數字會是這樣一個

/\/(\d+)[^\/]+$/ 

你可以這樣使用它

url = "http://farm5.static.flickr.com/4040/5160997583_5ea677e4e1_s.jpg"; 
matches = url.match(/\/(\d+)[^\/]+$/); 
alert(matches[1]); // here it is/
相關問題