Come eliminare l'ultimo carattere da una stringa usando jQuery?


181

Come eliminare l'ultimo carattere da una stringa, ad esempio 123-4-quando lo elimino 4, dovrebbe essere visualizzato 123-usando jQuery .


30
Quindi stai eliminando gli ultimi due caratteri.
Skilldrick,

Risposte:


459

Puoi anche provare questo in javascript semplice

"1234".slice(0,-1)

il secondo parametro negativo è un offset dall'ultimo carattere, quindi puoi usare -2 per rimuovere gli ultimi 2 caratteri ecc


15
stiamo (almeno sto usando) così tanto jQuery al giorno d'oggi, a volte dimentico come fare in javascript normale = X
Michel Ayres,

2
Per chiarire le cose (poiché questo post potrebbe essere utile principalmente per i principianti): .slice () restituirà il risultato. Quindi si dovrebbe usare: var result = "1234" .slice (0, -1);
MMB,

38

Perché usare jQuery per questo?

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

Ovviamente se devi:

Sottostrato con 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 () non è una funzione. str.length restituisce il numero di caratteri nella stringa
skajfes

@ skajfes BTW questo è un esempio migliore che modificherò il mio sopra per usare la lunghezza
Jason Benson,

Buon esempio con jQuery. Grazie per aver pubblicato Jason. Best
OV Web Solutions,

9

@skajfes e @GolezTrol hanno fornito i metodi migliori da utilizzare. Personalmente, preferisco usare "slice ()". È meno codice e non devi sapere quanto è lunga una stringa. Usa solo:

//-----------------------------------------
// @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));

Preferisco sottostringhe da solo. Slice per me è troppo vicino alla matrice array
Jason Benson,

5

Puoi farlo con JavaScript semplice:

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

Ciò restituisce i primi quattro caratteri della stringa (regolare 4in base alle proprie esigenze).


3
La soluzione slice (0, -1) è migliore perché non è necessario conoscere in anticipo la lunghezza della stringa.
Dan Dascalescu,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.