Мой адрес выглядит так: ://example/example/.com
. Я хочу удалить последнюю черту строки. Моя попытка до сих пор (но не работает):Строка заменить последнее появление символа слэша
.replace(/\/$/g, '');
Может кто-нибудь помочь мне?
Мой адрес выглядит так: ://example/example/.com
. Я хочу удалить последнюю черту строки. Моя попытка до сих пор (но не работает):Строка заменить последнее появление символа слэша
.replace(/\/$/g, '');
Может кто-нибудь помочь мне?
Вы должны бежать символ слэш в регулярном выражении литерала. Не Захват символы после последнего слеша до конца строки и использовать в замене:
s = s.replace(/\/([^\/]*)$/, '$1');
(Вам не нужно g
флаг для этого, как вы знаете, что там никогда не больше, чем один матч .)
Демо: http://jsfiddle.net/Guffa/jkn52/
в качестве альтернативы, используйте poositive смотреть вперед, чтобы соответствовать слэш, которая не есть еще один слэш до конца строки:
s = s.replace(/\/(?=[^\/]*$)/, '');
Это немного многословен, но это работает:
var url = "//example/example/.com";
var slash_position = url.lastIndexOf('/');
url = url.substr(0, slash_position) + url.substr(slash_position+1);
var str = "/1/2/3/4/5"
var index = str.lastIndexOf("/");
var newStr = str.substr(0, index) + str.substr(index + 1);
console.log(newStr);
Попробуйте:
var s= someString.replace(/\//g, "");
Конечно, вы должны замаскировать косую черту, в противном случае он сталкивается с разделителями. – CBroe