我的链接看起来像这样:
http://www.example.com/category/action
我该如何获取“action”这个词呢?最后一个斜杠“/”后面的部分每次都不同,无论是“action”还是“adventure”等,我该如何始终获取最后一个斜杠后面的单词呢?
我的链接看起来像这样:
http://www.example.com/category/action
我该如何获取“action”这个词呢?最后一个斜杠“/”后面的部分每次都不同,无论是“action”还是“adventure”等,我该如何始终获取最后一个斜杠后面的单词呢?
一种方法:
var lastPart = url.split("/").pop();
http://www.example.com/category/action/
),我们可以应用过滤器来去除空部分:var lastPart = url.split('/').filter(e => e).pop()
。此外,我更喜欢使用slice(-1)
而不是pop()
来返回最后一部分,因为pop()
会返回undefined
,而slice(-1)
将返回空数组。所以我会这样做:var lastPart = url.split('/').filter(e => e).slice(-1)
。 - kimbaudivar url = "http://www.mysite.com/category/action";
var parts = url.split("/");
alert(parts[parts.length-1]);
然而,如果可以有一个尾随斜杠,您可以使用以下内容:
var url = "http://www.mysite.com/category/action/";
var parts = url.split("/");
if (parts[parts.length-1].length==0){
alert(parts[parts.length-2]);
}else{
alert(parts[parts.length-1]);
}
/
分割后过滤掉空的部分。然后你可以使用 slice(-1)
获取最后一部分。所以代码如下:var lastPart = url.split('/').filter(e => e).slice(-1);
- kimbaudistr.substring(str.lastIndexOf("/") + 1)
如果您的URL可能包含查询或片段,您可能需要执行以下操作:
var end = str.lastIndexOf("#");
if (end >= 0) { str = str.substring(0, end); }
end = str.lastIndexOf("?");
if (end >= 0) { str = str.substring(0, end); }
首先确保你有一个以路径结尾的URL。
或者使用正则表达式的方式:
var lastPart = url.replace(/.*\//, ""); //tested in FF 3
或者
var lastPart = url.match(/[^/]*$/)[0]; //tested in FF 3
看看split方法,它可以做你想要的事情:http://www.w3schools.com/jsref/jsref_split.asp
嗯,我能想到的第一件事就是使用 split
函数。
string.split(separator, limit)
既然大家都建议使用split函数,第二种方法是这样的:
var c = "http://www.example.com/category/action";
var l = c.match(/\w+/g)
alert(l)
正则表达式只是一个草稿以便理解。基本上,您可以获得URL中的每个单词。
l = http,www,example,com,category,action
获取最后一个。