touppercase - ¿Cómo obtener la última parte de una cadena en JavaScript?
touppercase para que sirve (6)
Bueno, lo primero que puedo pensar es usar la función split
.
string.split(separator, limit)
Como todos sugirieron la función de división, una segunda forma de madera sería esta:
var c = "http://www.example.com/category/action";
var l = c.match(//w+/g)
alert(l)
La expresión regular es solo un trozo para entender la idea. Básicamente, obtienes todas las palabras en la url.
l = http, www, ejemplo, com, categoría, acción
obtener el último.
Mi URL se verá así:
http://www.example.com/category/action
¿Cómo puedo obtener la palabra "acción"? Esta última parte de la url (después de la última barra inclinada "/") será diferente cada vez. Entonces, ya sea su "acción" o "aventura", etc. ¿cómo puedo obtener la palabra después de la última barra de cierre?
Consulte el método de división, hace lo que quiere: http://www.w3schools.com/jsref/jsref_split.asp
De una sola mano:
var lastPart = url.split("/").pop();
O la forma regex:
var lastPart = url.replace(/.*///, ""); //tested in FF 3
O
var lastPart = url.match(/[^/]*$/)[0]; //tested in FF 3
Suponiendo que no haya una barra inclinada, puede obtenerlo de esta manera:
var url = "http://www.mysite.com/category/action";
var parts = url.split("/");
alert(parts[parts.length-1]);
Sin embargo, si puede haber una barra inclinada final, puede usar lo siguiente:
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)
Aunque si su URL puede contener una consulta o fragmento, es posible que desee hacer
var end = str.lastIndexOf("#");
if (end >= 0) { str = str.substring(0, end); }
end = str.lastIndexOf("?");
if (end >= 0) { str = str.substring(0, end); }
primero para asegurarse de tener una URL con la ruta al final.