So wählen Sie die letzten beiden Zeichen einer Zeichenfolge aus

Lesezeit: 4 Minuten

Benutzer-Avatar
Mo.

Ich muss die letzten beiden Zeichen aus der Variablen auswählen, egal ob es sich um Ziffern oder Buchstaben handelt.

Zum Beispiel:

var member = "my name is Mate";

Ich möchte die letzten beiden Buchstaben aus der Zeichenfolge in der anzeigen member Variable.

Sie können einen negativen Index an übergeben .slice(). Dies zeigt einen Versatz vom Ende des Satzes an.

var member = "my name is Mate";

var last2 = member.slice(-2);

alert(last2); // "te"

Benutzer-Avatar
halbes Bit

EDIT: 2020: verwenden string.slice(-2) wie andere sagen – siehe unten.

jetzt 2016 gerade string.substr(-2) sollte es tun (nicht Teilzeichenfolge(!))

von MDN übernommen

Syntax

str.substr(start[, length])

Parameter

Anfang

Position, an der mit dem Extrahieren von Zeichen begonnen werden soll. Wenn eine negative Zahl angegeben wird, wird sie als strLength + start behandelt wobei strLength die Länge der Zeichenfolge ist (wenn beispielsweise start -3 ist, wird es als strLength – 3 behandelt.) length Optional. Die Anzahl der zu extrahierenden Zeichen.

BEARBEITUNG 2020

sagt MDN

Warnung: Obwohl String.prototype.substr(…) nicht strikt veraltet ist (wie in „von den Webstandards entfernt“), wird es als Legacy-Funktion betrachtet und sollte nach Möglichkeit vermieden werden. Es ist nicht Teil der JavaScript-Kernsprache und wird möglicherweise in Zukunft entfernt.

  • “JScript von Microsoft unterstützt keine negativen Werte für den Startindex. Um diese Funktion in JScript zu verwenden, können Sie den folgenden Code verwenden…” – developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… (während sie für Slice keine Polyfill haben: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…)

    – Georg Birbilis

    3. Juni 2018 um 21:48 Uhr

  • Beachten Sie, dass JScript nicht im Browser enthalten ist, sondern hauptsächlich eine Skriptsprache für die Arbeit mit der Windows Script Host-Automatisierung (ähnlich wie VBScript). Daher ist es logisch, dass sie zu ihrer Zeit solche Methoden nicht enthielt. Neuere Windows-Versionen fördern PowerShell mit a kryptische Syntax. Wie auch immer, der Kommentar war, dass Slice im Fall von JScript ein besserer Kandidat als Substr ist, da es negative Indizes unterstützt docs.microsoft.com/en-us/vorherige-versionen/windows/…

    – Georg Birbilis

    5. Juni 2018 um 13:20 Uhr

Benutzer-Avatar
mattytommo

Versuchen Sie dies, beachten Sie, dass Sie den Endindex in nicht angeben müssen substring.

var characters = member.substr(member.length -2);

  • Ihre ursprüngliche Antwort war wahrscheinlich angemessener. Entsprechend MDNs substr Dokumente, “JScript von Microsoft unterstützt keine negativen Werte für den Startindex.”

    Benutzer1106925

    24. Mai 2012 um 17:03 Uhr

Das folgende Beispiel verwendet slice() mit negativen Indizes

var str="my name is maanu.";
console.log(str.slice(-3));     // returns 'nu.' last two
console.log(str.slice(3, -7)); // returns 'name is'
console.log(str.slice(0, -1));  // returns 'my name is maanu'

Du kannst es versuchen

member.substr(member.length-2);

  • Sie haben member.length von Ihrem Startindex verpasst 🙂

    – mattytommo

    24. Mai 2012 um 16:51 Uhr

  • Ah cool, ich habe meine Antwort aktualisiert, um sie zu reflektieren, danke TJ und Ibu 🙂

    – mattytommo

    24. Mai 2012 um 16:57 Uhr

  • @TJCrowder: Ziemlich sicher, dass der negative Index als Ausgangsposition für IE8 und niedriger nicht funktioniert.

    Benutzer1106925

    24. Mai 2012 um 17:00 Uhr

  • @Amnotiam: Vielen Dank, sehr gut zu wissen! Ich habe gerade geprüftund sicher genug, nicht funktionieren auf IE7 oder IE8 (und würden daher vermutlich nicht auf IE6 funktionieren). IE9 im Standardmodus war in Ordnung (aber nicht kompatibel). Ich benutze nie substr, und jetzt wünschte ich, ich könnte den Thread finden, in dem mir ein selbstgefälliger Idiot das Leben schwer gemacht hat (und insbesondere keine negativen Indizes verwendet) – ich kann es jetzt begründen! 🙂

    – TJ Crowder

    24. Mai 2012 um 17:25 Uhr

Benutzer-Avatar
Harijs Krūtainis

Wenn es sich um eine ganze Zahl handelt, benötigen Sie einen Teil von ….

var result = number.toString().slice(-2);

  • Sie haben member.length von Ihrem Startindex verpasst 🙂

    – mattytommo

    24. Mai 2012 um 16:51 Uhr

  • Ah cool, ich habe meine Antwort aktualisiert, um sie zu reflektieren, danke TJ und Ibu 🙂

    – mattytommo

    24. Mai 2012 um 16:57 Uhr

  • @TJCrowder: Ziemlich sicher, dass der negative Index als Ausgangsposition für IE8 und niedriger nicht funktioniert.

    Benutzer1106925

    24. Mai 2012 um 17:00 Uhr

  • @Amnotiam: Vielen Dank, sehr gut zu wissen! Ich habe gerade geprüftund sicher genug, nicht funktionieren auf IE7 oder IE8 (und würden daher vermutlich nicht auf IE6 funktionieren). IE9 im Standardmodus war in Ordnung (aber nicht kompatibel). Ich benutze nie substr, und jetzt wünschte ich, ich könnte den Thread finden, in dem mir ein selbstgefälliger Idiot das Leben schwer gemacht hat (und insbesondere keine negativen Indizes verwendet) – ich kann es jetzt begründen! 🙂

    – TJ Crowder

    24. Mai 2012 um 17:25 Uhr

Sie sollten dazu substring und nicht jQuery verwenden.

Versuchen Sie so etwas:

member.substring(member.length - 2, member.length)

W3Schools (nicht offiziell, aber gelegentlich hilfreich): http://www.w3schools.com/jsref/jsref_substring.asp

Hinzufügen des MDN-Links wie vom Kommentator angefordert: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring

  • Bitte geben Sie Links zu einer offiziellen Dokumentation wie MSDN oder MDN an, nicht zu w3fools 🙂

    – jbaby

    24. Mai 2012 um 17:04 Uhr

  • w3schools ist nicht “offiziell”, hat aber im Allgemeinen zuverlässige Informationen. MSDN ist offiziell, aber IE-spezifisch und hat nichts mit Firefox, Safari usw. zu tun.

    – Matt

    24. Mai 2012 um 18:45 Uhr

  • den Link zum Kommentar hinzugefügt, während Sie dies gepostet haben

    – Matt

    24. Mai 2012 um 19:11 Uhr

1311020cookie-checkSo wählen Sie die letzten beiden Zeichen einer Zeichenfolge aus

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy