2012-04-12 13 views
5

Estoy tratando de hacer algo que parece bastante básico, pero parece que no funciona.Javascript: Reemplazar caracteres después de _

Estoy tratando de despojar a los personajes después de la última instancia de un guión bajo.

tengo esta cadena, por ejemplo:

www/images/10/20120412/28-696-b0b9815463e47c9371b02b7202788a75_tn.jpg

y estoy tratando de despojar a cabo el 'tn.jpg' a producen:

www/images/10/20120412/28-696-b0b9815463e47c9371b02b7202788a75_

he intentado hacer .slice (0, -6), pero que sólo funcionará para los casos de _tn.jpg y no _med.jpg .

En última instancia, voy a intercambiar en diferentes tamaños de imágenes (_med.jpg, _full.jpg, etc.) y debe ser solo después del último guión bajo (puede haber guiones bajos en la URL).

Cualquier ayuda sería muy apreciada!

Zack

Respuesta

11

Usted como este puede que:

var testURL = "dvuivnhuiv_ew"; 
var output = testURL.substring(0, testURL.lastIndexOf('_') + 1); 
console.log(output); 
+0

él quiere incluir el _, así que hazlo +1 –

+0

Lo acabo de ver, gracias :) –

4
var path = "www/images/10/20120412/28-696-b0b9815463e47c9371b02b7202788a75_tn.jpg"; 
var index = path.lastIndexOf('_'); 
path = path.substring(0, index+1); 
alert(path); 
+0

Oh, lo siento se perdió la parte en la que podría haber más _ que está en el comienzo –

+0

cambio se para lastIndexOf. Fuiste un poco más rápido :( –

2
var url = "www/images/10/20120412/28-696-b0b9815463e47c9371b02b7202788a75_tn.jpg"; 
var result = url.substring(0, url.lastIndexOf('_')+1); 
alert(result); 

​Example

Cuestiones relacionadas