Comment supprimer le dernier caractère d'une chaîne en utilisant jQuery?

181

Comment supprimer le dernier caractère d'une chaîne, par exemple 123-4-lorsque je le supprime, 4il doit s'afficher à l' 123-aide de jQuery .

wiki
la source
30
Vous supprimez alors les deux derniers caractères.
Skilldrick

Réponses:

459

Vous pouvez également essayer ceci en javascript simple

"1234".slice(0,-1)

le deuxième paramètre négatif est un décalage par rapport au dernier caractère, vous pouvez donc utiliser -2 pour supprimer les 2 derniers caractères, etc.

skajfes
la source
15
nous utilisons (du moins je suis) tellement jQuery de nos jours, parfois j'oublie comment faire en javascript = X
Michel Ayres
2
Pour clarifier les choses (car cet article peut être utile surtout pour les débutants): .slice () retournera le résultat. Il faut donc utiliser: var result = "1234" .slice (0, -1);
MMB
38

Pourquoi utiliser jQuery pour cela?

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

Bien sûr si vous devez:

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));
Jason Benson
la source
str.substring (0, str.count () - 1)
GolezTrol
2
@GolezTrol: str.count () n'est pas une fonction. str.length renvoie le nombre de caractères dans la chaîne
skajfes
@ skajfes BTW c'est un meilleur exemple, je vais modifier le mien ci-dessus pour utiliser la longueur
Jason Benson
Bon exemple avec jQuery. Merci d'avoir posté Jason. Best
OV Web Solutions
9

@skajfes et @GolezTrol ont fourni les meilleures méthodes à utiliser. Personnellement, je préfère utiliser "slice ()". C'est moins de code et vous n'avez pas besoin de savoir quelle est la longueur d'une chaîne. Utilisez simplement:

//-----------------------------------------
// @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));
Solutions Web OV
la source
Je préfère me soustraire. La tranche pour moi est bien trop proche de la tranche du tableau
Jason Benson
5

Vous pouvez le faire avec du JavaScript simple:

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

Cela renvoie les quatre premiers caractères de votre chaîne (ajustez 4en fonction de vos besoins).

jwueller
la source
3
La solution de tranche (0, -1) est meilleure car vous n'avez pas besoin de connaître la longueur de la chaîne à l'avance.
Dan Dascalescu