Подтвердить что ты не робот

Как получить последнюю часть строки в JavaScript?

Мой url будет выглядеть так:

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

Как я могу получить слово "действие". Эта последняя часть URL-адреса (после последней косой черты "/" ) будет отличаться каждый раз. Так ли это "действие" или "приключение" и т.д., Как я могу получить слово после последнего закрытия косой черты?

4b9b3361

Ответ 1

Один из способов:

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

Ответ 2

Предполагая, что нет косой черты, вы можете получить ее так:

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

Ответ 3

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

сначала, чтобы убедиться, что у вас есть URL-адрес с концом в конце.

Ответ 5

Хорошо, первое, что я могу придумать, это использовать функцию split.

string.split(separator, limit)

Поскольку все предлагали функцию расщепления, это будет второй путь дерева:

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

Регулярное выражение - это просто заглушка, чтобы получить идею. В основном вы получаете все слова в URL-адресе.

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

получить последний.

Ответ 6

Или путь регулярного выражения:

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

ИЛИ

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