Bagaimana cara menghapus karakter terakhir dari string menggunakan jQuery?

181

Bagaimana menghapus karakter terakhir dari string misalnya 123-4-ketika saya menghapusnya 4harus ditampilkan 123-menggunakan jQuery .

wiki
sumber
30
Anda menghapus dua karakter terakhir.
Skilldrick

Jawaban:

459

Anda juga dapat mencoba ini di javascript biasa

"1234".slice(0,-1)

parameter kedua negatif adalah offset dari karakter terakhir, sehingga Anda dapat menggunakan -2 untuk menghapus 2 karakter terakhir dll

skajf
sumber
15
kita (setidaknya saya) menggunakan begitu banyak jQuery saat ini, kadang-kadang saya lupa bagaimana melakukannya dalam javascript biasa = X
Michel Ayres
2
Untuk memperjelas hal-hal (karena posting ini mungkin berguna terutama untuk pemula): .slice () akan mengembalikan hasilnya. Jadi orang harus menggunakan: var result = "1234" .slice (0, -1);
MMB
38

Mengapa menggunakan jQuery untuk ini?

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

Tentu saja jika Anda harus:

Substr dengan 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));
Jason Benson
sumber
str.substring (0, str.count () - 1)
GolezTrol
2
@GolezTrol: str.count () bukan fungsi. str.length mengembalikan jumlah karakter dalam string
skajfes
@ skajfes BTW ini adalah contoh yang lebih baik saya akan mengedit tambang di atas menggunakan panjang
Jason Benson
Contoh yang bagus dengan jQuery. Terima kasih telah mengirim Jason. Terbaik
Solusi Web OV
9

@skajfes dan @GolezTrol menyediakan metode terbaik untuk digunakan. Secara pribadi, saya lebih suka menggunakan "slice ()". Ini lebih sedikit kode, dan Anda tidak perlu tahu berapa lama sebuah string. Cukup gunakan:

//-----------------------------------------
// @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));
Solusi Web OV
sumber
Saya lebih suka menyuburkan diri. Slice untuk saya terlalu dekat dengan slice array
Jason Benson
5

Anda dapat melakukannya dengan JavaScript biasa:

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

Ini mengembalikan empat karakter pertama dari string Anda (sesuaikan 4dengan kebutuhan Anda).

jwueller
sumber
3
Solusi slice (0, -1) lebih baik karena Anda tidak perlu tahu panjang string sebelumnya.
Dan Dascalescu