Wie bekomme ich die letzten Zeichen einer Zeichenfolge?

Lesezeit: 5 Minuten

Wie bekomme ich die letzten Zeichen einer Zeichenfolge
Benutzer695663

ich habe

var id="ctl03_Tabs1";

Wie bekomme ich mit JavaScript die letzten fünf Zeichen oder das letzte Zeichen?

  • Um das letzte Zeichen zu erhalten, wäre die beste Option id.charAt(id.length-1)

    – Dilhan Jayathilake

    11. September 13 um 23:36 Uhr

  • Hinweis für die Leser: Lesen Sie unbedingt die erste Antwort, insbesondere die von @Terence.

    – Firmmo

    30. Oktober 13 um 9:19 Uhr

  • Mögliches Duplikat, wie man das letzte Zeichen einer Zeichenfolge erhält?

    – Stefan Weinhold

    1. Feb. 18 um 15:14 Uhr

Wie bekomme ich die letzten Zeichen einer Zeichenfolge
Jamon Holmgren

EDIT: Wie andere darauf hingewiesen haben, verwenden Sie slice(-5) anstatt substr. Siehe jedoch die .split().pop() Lösung am Ende dieser Antwort für einen anderen Ansatz.

Ursprüngliche Antwort:

Sie sollten die Javascript-String-Methode verwenden .substr() kombiniert mit der .length Eigentum.

var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"

Dadurch werden die Zeichen ab id.length – 5 abgerufen und, da das zweite Argument für .substr() weggelassen wird, bis zum Ende der Zeichenfolge fortgesetzt.

Sie können auch die verwenden .slice() Methode, wie andere unten darauf hingewiesen haben.

Wenn Sie einfach nur die Zeichen nach dem Unterstrich suchen, können Sie Folgendes verwenden:

var tabId = id.split("_").pop(); // => "Tabs1"

Dadurch wird die Zeichenfolge auf dem Unterstrich in ein Array geteilt und dann das letzte Element aus dem Array entfernt (das ist die gewünschte Zeichenfolge).

  • Die erste Lösung kann kürzer und schneller gemacht werden, siehe meine Antwort unten. Ich stimme jedoch der Split-and-Pop-Idee in dieser speziellen Situation zu.

    – Terenz

    18. März 13 um 9:45 Uhr

  • Verglichen zu .slice(-5) und .substr(length – 5), .split().pop() ist ein großer Performance-Hit. Wenn Sie dies in einer Schleife verwenden und die Leistung kritisch ist, sollten Sie dies im Hinterkopf behalten.

    – nwayve

    17. Februar 14 um 16:07 Uhr

  • In Ihrem Test .split().pop() beträgt immer noch 5 Millionen Operationen pro Sekunde. Es ist kein Leistungsproblem, bis es ein Leistungsproblem ist. 😉

    – Jamon Holmgren

    17. Februar 14 um 18:27 Uhr

  • @HutchMoore Du hast recht. Ich habe meine Antwort bearbeitet, um das zu erwähnen slice ist an dieser Stelle die bessere Option.

    – Jamon Holmgren

    29. Oktober 18 um 22:01 Uhr

  • Wenn Sie hier sind, weil Sie die Erweiterung eines Dateinamens abrufen wollten, dann filename.split(".").pop() ist wesentlich klüger als das Slicing mit einem negativen Wert von 3. Viele dieser Antworten erwähnen die Verwendung negativer Werte, aber was passiert wann? Tabs12 kommt vorbei und du bekommst abs12 infolge. Der .split("_").pop() Die hier gepostete Lösung ist wieder deutlich klüger als alle, die sagen, dass Slice verwendet werden sollte

    – Zanderkrieg

    3. Oktober 19 um 1:44 Uhr


1643912109 473 Wie bekomme ich die letzten Zeichen einer Zeichenfolge
Terenz

Nicht verwenden .substr(). Verwenden Sie die .slice() -Methode, da sie Cross-Browser-kompatibel ist (siehe IE).

const id = "ctl03_Tabs1";
console.log(id.slice(id.length - 5)); //Outputs: Tabs1
console.log(id.slice(id.length - 1)); //Outputs: 1

substr() mit negativem Wert funktioniert nicht im IE

  • Ja Slice akzeptiert negative Werte, was großartig ist! slice() Hinweis : developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…

    – Firmmo

    30. Oktober 13 um 9:19 Uhr

  • Ich bevorzuge diese Antwort, obwohl die akzeptierte gut funktioniert.

    – David Watts

    16. November 13 um 12:39 Uhr

  • Dies sollte die Antwort sein, die Verwendung von Slice auf diese Weise ist auch performanter: jsperf.com/slice-vs-substr-and-length

    – die Vinchi

    20. Oktober 16 um 15:49 Uhr

  • Chrome 55 scheint zu glauben, dass substr 20 % schneller ist

    – Fantapop

    7. November 16 um 6:15 Uhr

  • Ich nehme an, Slice funktioniert nur, wenn es konsistent ist? Was wäre, wenn das Ende wäre _Tabs15 ? Slice(-5) würde nur greifen abs15 ? Split/Pop funktioniert viel besser für unterschiedliche Längen …

    – Brian Ramsey

    25. Januar 17 um 9:37 Uhr

1643912109 201 Wie bekomme ich die letzten Zeichen einer Zeichenfolge
Benutzer682701

Du kannst den … benutzen substr()-Methode mit negativer Startposition, um die letzten n Zeichen abzurufen. Zum Beispiel erhält dies die letzten 5:

var lastFiveChars = id.substr(-5);

  • Beste und kurze Antwort. Die ursprüngliche Zeichenfolgenlänge muss nicht bekannt sein (für aktuelle Browser, daher schließen wir IE aus)

    – Thanh Trung

    23. April 2020 um 7:03 Uhr


  • Dies ist mit Abstand der beste und kürzeste Weg zum Ergebnis

    – Alpha

    18. Juli 2020 um 20:40 Uhr

  • Das hört sich gut an, funktioniert aber nicht immer, siehe hier: w3schools.com/jsref/tryit.asp?filename=tryjsref_substring4

    – Roger Perkins

    16. September 21 um 16:01 Uhr

  • @RogerPerkins Warum postest du ein Beispiel mit substring, wenn es in diesem Beitrag um substr geht??

    – Daniele Testa

    17. September 21 um 6:14 Uhr

  • Ich bin verwirrt darüber, welche Sprache welchen Substring-Befehl verwendet, sieht so aus, als ob Javascript beide verwenden kann, obwohl es so aussieht, als ob nur substr für negative Zahlen richtig funktioniert. Es sieht so aus, als ob sogar w3schools mit der Operation von substr verwirrt ist und für eine negative Zahl angibt:
    Wenn start negativ ist, verwendet substr() es als Zeichenindex vom Ende der Zeichenfolge.
    Wenn start negativ oder größer als die Länge des Strings ist, wird start auf 0 gesetzt

    – Roger Perkins

    17. September 21 um 23:30 Uhr


1643912110 394 Wie bekomme ich die letzten Zeichen einer Zeichenfolge
Zirak

Das letzte Zeichen zu erhalten ist einfach, da Sie Zeichenfolgen als Array behandeln können:

var lastChar = id[id.length - 1];

Um einen Abschnitt einer Zeichenfolge zu erhalten, können Sie die verwenden Substr Funktion oder die Teilzeichenfolge Funktion:

id.substr(id.length - 1); //get the last character
id.substr(2);             //get the characters from the 3rd character on
id.substr(2, 1);          //get the 3rd character
id.substr(2, 2);          //get the 3rd and 4th characters

Der Unterschied zwischen substr und substring So wird der zweite (optionale) Parameter behandelt. In substr, es ist die Anzahl der Zeichen aus dem Index (der erste Parameter). In substringes ist der Index, wo das Zeichen-Slicing enden soll.

1643912110 960 Wie bekomme ich die letzten Zeichen einer Zeichenfolge
Tamilisch

Das folgende Skript zeigt das Ergebnis für die letzten 5 Zeichen und das letzte 1 Zeichen in einer Zeichenfolge mit JavaScript:

var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character

Ausgabe :

Tabs1 // 5 Zeichen erhalten

1 // 1 Zeichen erhalten

  • Nicht kompatibel mit IE, siehe meine Antwort.

    – Terenz

    18. März 13 um 9:42 Uhr

1643912111 492 Wie bekomme ich die letzten Zeichen einer Zeichenfolge
Keivan

Eine Möglichkeit wäre die Verwendung slicewie folgt:

var id="ctl03_Tabs1";
var temp=id.slice(-5);

also der Wert von temp wäre "Tabs1".

  • Nicht kompatibel mit IE, siehe meine Antwort.

    – Terenz

    18. März 13 um 9:42 Uhr

Wie bekomme ich die letzten Zeichen einer Zeichenfolge
Kaugummis

Besuche die Substring-Funktion.

So erhalten Sie das letzte Zeichen:

id.substring(id.length - 1, id.length);

.

758520cookie-checkWie bekomme ich die letzten Zeichen einer Zeichenfolge?

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

Privacy policy