Как удалить последний символ из строки, используя jQuery?

181

Как удалить последний символ из строки, например, 123-4-когда я удаляю 4его, должен отображаться 123-с помощью jQuery .

вики
источник
30
Вы удаляете последние два символа.
Skilldrick

Ответы:

459

Вы также можете попробовать это в простом JavaScript

"1234".slice(0,-1)

второй отрицательный параметр - это смещение от последнего символа, поэтому вы можете использовать -2 для удаления последних 2 символов и т. д.

skajfes
источник
15
в настоящее время мы (по крайней мере, я) используем так много jQuery, иногда я забываю, как это сделать простым javascript = X
Мишель Айрес
2
Чтобы прояснить ситуацию (поскольку этот пост может быть полезен в основном для начинающих): .slice () вернет результат. Поэтому нужно использовать: var result = "1234" .slice (0, -1);
MMB
38

Зачем для этого использовать jQuery?

str = "123-4"; 
alert(str.substring(0,str.length - 1));

Конечно, если вы должны:

Substr w / jQuery:

//example test element
 $(document.createElement('div'))
    .addClass('test')
    .text('123-4')
    .appendTo('body');

//using substring with the jQuery function html
alert($('.test').html().substring(0,$('.test').html().length - 1));
Джейсон Бенсон
источник
str.substring (0, str.count () - 1)
GolezTrol
2
@GolezTrol: str.count () не является функцией. str.length возвращает число символов в строке
skajfes
@ skajfes Кстати, это лучший пример, который я отредактирую выше, чтобы использовать длину
Джейсон Бенсон
Хороший пример с JQuery. Спасибо за публикацию Джейсона. Best
OV Web Solutions
9

@skajfes и @GolezTrol предоставили лучшие методы для использования. Лично я предпочитаю использовать "slice ()". Это меньше кода, и вам не нужно знать, какова длина строки. Просто используйте:

//-----------------------------------------
// @param begin  Required. The index where 
//               to begin the extraction. 
//               1st character is at index 0
//
// @param end    Optional. Where to end the
//               extraction. If omitted, 
//               slice() selects all 
//               characters from the begin 
//               position to the end of 
//               the string.
var str = '123-4';
alert(str.slice(0, -1));
OV Web Solutions
источник
Я предпочитаю подстроку себя. Срез для меня слишком близок к срезу массива
Джейсон Бенсон
5

Вы можете сделать это с простым JavaScript:

alert('123-4-'.substr(0, 4)); // outputs "123-"

Это возвращает первые четыре символа вашей строки (отрегулируйте 4в соответствии с вашими потребностями).

jwueller
источник
3
Решение среза (0, -1) лучше, потому что вам не нужно заранее знать длину строки.
Дан Даскалеску