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 .

Wiki
quelle
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

Skajfes
quelle
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));
Jason Benson
quelle
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));
OV Weblösungen
quelle
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 ).

jwueller
quelle
3
Die Slice-Lösung (0, -1) ist besser, da Sie die Zeichenfolgenlänge nicht im Voraus kennen müssen.
Dan Dascalescu