如何获得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