Al menos de tres formas:
Una expresión regular:
var result = /[^/]*$/.exec("foo/bar/test.html")[0];
... que dice "tome la serie de caracteres que no contengan una barra" ( [^/]*
) al final de la cadena ( $
). Luego, toma los caracteres coincidentes del objeto de coincidencia devuelto indexando en él ( [0]
); en un objeto de coincidencia, la primera entrada es toda la cadena coincidente. No es necesario capturar grupos.
Ejemplo vivo
Usando lastIndexOf
y substring
:
var str = "foo/bar/test.html";
var n = str.lastIndexOf('/');
var result = str.substring(n + 1);
lastIndexOf
hace lo que parece: encuentra el índice de la última aparición de un carácter (bueno, cadena) en una cadena, devolviendo -1 si no se encuentra. Nueve de cada diez veces probablemente desee verificar ese valor de retorno ( if (n !== -1)
), pero en lo anterior, dado que le estamos agregando 1 y llamamos a la subcadena, terminaríamos haciendo lo str.substring(0)
que solo devuelve la cadena.
Utilizando Array#split
Sudhir y Tom Walters tienen esto cubierto aquí y aquí , pero solo para completar:
var parts = "foo/bar/test.html".split("/");
var result = parts[parts.length - 1]; // Or parts.pop();
split
divide una cadena usando el delimitador dado, devolviendo una matriz.
La solución lastIndexOf
/ substring
es probablemente la más eficiente (aunque siempre hay que tener cuidado al decir algo sobre JavaScript y el rendimiento, ya que los motores varían radicalmente entre sí), pero a menos que esté haciendo esto miles de veces en un bucle, no es así. No importa y me esforzaría por la claridad del código.
No necesita jQuery, y hay muchas formas de hacerlo, por ejemplo:
Donde myString contiene su cadena.
fuente
fuente
Tratar;
fuente
Cuando sé que la cadena va a ser razonablemente corta, utilizo la siguiente línea ... (recuerde escapar de las barras diagonales inversas)
alerta aparece con
picture name.jpg
fuente
Ahora tiene el last.htm en la cadena de ruta.
fuente
peso ligero
dónde
start = Required
. La posición donde comenzar la extracción. El primer carácter está en el índice 0`.end = Optional
. La posición (hasta, pero sin incluir) donde finalizar la extracción. Si se omite, extrae el resto de la cadena.O
fuente
Jquery:
Javascript:
Reemplazar '_' || '/' a su propia necesidad
fuente
y para la pregunta formulada en la URL (solicitada por una aparición de '=') ::
[ http://stackoverflow.com/questions/24156535/how-to-split-a-string-after-a-particular-character-in -jquery] [1]
fuente
Prueba esto:
fuente