2012-04-12 15 views
5

Sto provando a fare qualcosa che sembra abbastanza semplice, ma non riesco a farlo funzionare.Javascript: Sostituisci caratteri dopo _

Sto provando a togliere i caratteri dopo l'ultima istanza di un carattere di sottolineatura.

ho questa stringa, ad esempio:

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

e sto cercando di togliere i 'tn.jpg' a producono:

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

ho provato a fare .slice (0, -6), ma che funziona solo per le istanze di _tn.jpg e non _med.jpg .

In definitiva, ho intenzione di scambiare immagini di dimensioni diverse (_med.jpg, _full.jpg ecc.) E deve essere solo dopo l'ultimo trattino basso (potrebbero esserci dei caratteri di sottolineatura nell'URL).

Qualsiasi aiuto sarebbe molto apprezzato!

Zack

risposta

11

È possibile in questo modo:

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

vuole includere il _, quindi fai +1 –

+0

L'ho appena visto, grazie :) –

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, mi dispiace perdere la parte in cui ci potrebbe essere più _ è in principio –

+0

cambiarla to lastIndexOf. Eri un po 'più veloce :( –

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

​Example

Problemi correlati