Wie lösche ich das letzte Zeichen mit jQuery aus einer Zeichenfolge?


181

Das Löschen des letzten Zeichens aus einer Zeichenfolge, beispielsweise 123-4-wenn ich es lösche 4, sollte 123-mit jQuery angezeigt werden .


30
Sie löschen dann die letzten beiden Zeichen.
— Skilldrick

Antworten:


459

Sie können dies auch in einfachem Javascript versuchen

"1234".slice(0,-1)

Der negative zweite Parameter ist ein Versatz zum letzten Zeichen. Sie können also -2 verwenden, um die letzten 2 Zeichen usw. zu entfernen


15
Wir verwenden (zumindest ich) heutzutage so viel jQuery, manchmal vergesse ich, wie man es in einfachem Javascript macht = X
— Michel Ayres

2
Zur Klärung (da dieser Beitrag vor allem für Anfänger nützlich sein kann): .slice () gibt das Ergebnis zurück. Man sollte also verwenden: var result = "1234" .slice (0, -1);
— MMB

38

Warum jQuery dafür verwenden?

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

Natürlich, wenn Sie müssen:

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 () ist keine Funktion. str.length Anzahl der Zeichen in Zeichenfolge zurückgeben
— skajfes

@ skajfes Übrigens ist dies ein besseres Beispiel. Ich werde meins oben bearbeiten, um die Länge zu verwenden
— Jason Benson

Gutes Beispiel mit jQuery. Danke, dass du Jason gepostet hast. Best
— OV Web Solutions

9

@skajfes und @GolezTrol lieferten die besten Methoden. Ich persönlich bevorzuge die Verwendung von "Slice ()". Es ist weniger Code und Sie müssen nicht wissen, wie lang eine Zeichenfolge ist. Benutz einfach:

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

Ich ziehe es vor, mich selbst zu unterwerfen. Slice ist für mich viel zu nah am Array Slice
— Jason Benson

5

Sie können dies mit einfachem JavaScript tun:

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

Dies gibt die ersten vier Zeichen Ihrer Zeichenfolge zurück ( 4an Ihre Bedürfnisse anpassen ).


3
Die Slice-Lösung (0, -1) ist besser, da Sie die Zeichenfolgenlänge nicht im Voraus kennen müssen.
— Dan Dascalescu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.