2012-04-12 6 views
5

Я пытаюсь сделать что-то, что кажется довольно простым, но, похоже, не может заставить его работать.Javascript: Замените символы после _

Я пытаюсь удалить символы после последнего экземпляра подчеркивания.

У меня есть эта строка, например:

WWW/изображений/10/20120412/28-696-b0b9815463e47c9371b02b7202788a75_tn.jpg

и я пытаюсь вырезать 'tn.jpg' в производим:

WWW/изображения/10/20120412/28-696-b0b9815463e47c9371b02b7202788a75_

Я пытался делать .slice (0, -6), но это будет работать только для экземпляров _tn.jpg и не _med.jpg ,

В конечном счете, я собираюсь обмениваться изображениями разных размеров (_med.jpg, _full.jpg и т. Д.), И это должно быть только после последнего подчеркивания (в URL-адрес могут быть подчеркнуты символы подчеркивания).

Любая помощь была бы принята с благодарностью!

Zack

ответ

11

Вы можете это так:

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

он хочет включить _, так что +1 –

+0

Я только что увидел его, спасибо :) –

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

Ой, извините пропустил часть, где может быть более _ это в начале –

+0

изменения его для lastIndexOf. Вы были немного быстрее :( –

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

​Example