如何在JavaScript中获取字符串的最后一部分?

时间:2011-05-29 01:22:30

标签: javascript

我的网址将如下所示:

http://www.example.com/category/action

我怎样才能得到“行动”这个词。 url的最后一部分(在最后一个正斜杠“/”之后)每次都会有所不同。那么无论是“行动”还是“冒险”等,我怎样才能在最后一次收尾正斜线后得到这个词呢?

6 个答案:

答案 0 :(得分:157)

一种方式:

var lastPart = url.split("/").pop();

答案 1 :(得分:9)

假设没有斜杠,你可以这样:

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]);  
}

答案 2 :(得分:5)

str.substring(str.lastIndexOf("/") + 1)

虽然您的网址可能包含查询或片段,但您可能想要

var end = str.lastIndexOf("#");
if (end >= 0) { str = str.substring(0, end); }
end = str.lastIndexOf("?");
if (end >= 0) { str = str.substring(0, end); }

首先确保你有一个带有路径的URL。

答案 3 :(得分:0)

查看拆分方法,它可以执行您想要的操作:http://www.w3schools.com/jsref/jsref_split.asp

答案 4 :(得分:0)

嗯,我能想到的第一件事是使用split函数。

string.split(separator, limit)

由于每个人都提出了拆分功能,所以第二种方式就是这样:

var c = "http://www.example.com/category/action";
var l = c.match(/\w+/g)
alert(l)

regexp只是一个存根来获得这个想法。基本上你会得到网址中的每一个字。

l = http,www,example,com,category,action

得到最后一个。

答案 5 :(得分:0)

或正则表达方式:

var lastPart = url.replace(/.*\//, ""); //tested in FF 3

OR

var lastPart = url.match(/[^/]*$/)[0]; //tested in FF 3