如何获得JavaScript中的string的最后一部分?
我的url将如下所示:
http://www.example.com/category/action
我怎样才能得到“行动”一词。 url的最后部分(在最后一个正斜杠“/”之后)每次都会有所不同。 那么无论是“行动”还是“冒险”等等,我怎么能总是在最后一个正确的斜杠之后得到这个词呢?
单程:
var lastPart = url.split("/").pop();
假设没有斜线,你可以这样得到它:
var 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]); }
str.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); }
首先要确保在最后有一个包含path的URL。
检查分裂的方法,它做你想要的: http : //www.w3schools.com/jsref/jsref_split.asp
那么,我能想到的第一件事就是使用split
函数。
string.split(separator, limit)
既然每个人都提出了分裂的function,第二种方式是这样的:
var c = "http://www.example.com/category/action"; var l = c.match(/\w+/g) alert(l)
正则expression式只是一个存根。 基本上,你得到的url中的每一个字。
l = http,www,example,com,category,action
得到最后一个。
或者正则expression式:
var lastPart = url.replace(/.*\//, ""); //tested in FF 3
要么
var lastPart = url.match(/[^/]*$/)[0]; //tested in FF 3