Javascript,字符串操作,正则表达式或其他东西
我是JavaScript/jquery中正则表达式和任何字符串操作中最糟糕的人,你可以请一些帮助吗?Javascript,字符串操作,正则表达式或其他东西
http://farm5.static.flickr.com/4040/5160997583_5ea677e4e1_s.jpg
这是需要从这个网址得到
感谢您帮助的URL结构的例子!
假设结构始终是相同的,您要查找的文件名了的所有字符为下划线的第一次出现,你可以这样做:
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");
JavaScript中不能有负数组索引。 – tillda 2011-01-12 15:22:04
@tillda - 好点,太多的Python。谢谢! – 2011-01-12 15:26:19
var code = url.match(/\/([0-9]+)_[^\/]*$/)[1];
(编辑以更严格)
一个正则表达式,将找到的文件名的起始数字会是这样一个
/\/(\d+)[^\/]+$/
你可以这样使用它
url = "http://farm5.static.flickr.com/4040/5160997583_5ea677e4e1_s.jpg";
matches = url.match(/\/(\d+)[^\/]+$/);
alert(matches[1]); // here it is/
您需要再解释一下自己:您是否想要查找文件名的前10个字符?你想查找文件名的所有字符到下划线吗?你想查找文件名的起始位? – 2011-01-12 15:22:50