Ich habe
var id="ctl03_Tabs1";
Wie kann ich mit JavaScript die letzten fünf Zeichen oder das letzte Zeichen ermitteln?
Ich habe
var id="ctl03_Tabs1";
Wie kann ich mit JavaScript die letzten fünf Zeichen oder das letzte Zeichen ermitteln?
EDIT: Wie bereits von anderen bemerkt, sollten Sie slice(-5)
anstelle von substr
. Siehe jedoch die .split().pop()
Lösung am Ende dieser Antwort für einen anderen Ansatz.
Ursprüngliche Antwort:
Sie werden die Javascript-String-Methode verwenden wollen .substr()
in Verbindung mit dem .length
Eigentum.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
Damit werden die Zeichen ab id.length - 5 abgerufen und, da das zweite Argument für .substr() weggelassen wird, bis zum Ende der Zeichenkette fortgesetzt.
Sie können auch die .slice()
Methode, wie andere weiter unten ausgeführt haben.
Wenn Sie nur die Zeichen nach dem Unterstrich suchen, können Sie dies verwenden:
var tabId = id.split("_").pop(); // => "Tabs1"
Dadurch wird die Zeichenkette am Unterstrich in ein Array aufgeteilt und das letzte Element aus dem Array "herausgelöst" (das ist die gewünschte Zeichenkette).
Die erste Lösung kann kürzer und schneller gemacht werden, siehe meine Antwort unten. Allerdings stimme ich in dieser besonderen Situation mit der Idee des "Split and Pop" überein.
Genial, ich habe überprüft, ob es eine "letzte" oder "richtige" Methode in js gibt, oder ob ich substr und length verwenden muss - ich hätte auch nicht an split/pop gedacht :)
Zu Ihrer Information: Wenn Sie eine bestimmte Anzahl von Zeichen benötigen, ist die erste Methode in meinen Tests mehr als 10 Mal schneller als die Pop-Methode. Ich mag die Eleganz der zweiten Methode und sie hat sicherlich ihre Berechtigung.
Verwenden Sie nicht die veraltete .substr()
!
Verwenden Sie entweder die .slice()
Methode, weil sie browserübergreifend kompatibel ist (siehe Problem mit IE ). Oder verwenden Sie die .substring()
méthode.
Es gibt leichte Unterschiede in den Anforderungen, die ordnungsgemäß dokumentiert sind: String.prototype.substring()
const id = "ctl03_Tabs1";
console.log(id.slice(-5)); //Outputs: Tabs1
console.log(id.slice(-1)); //Outputs: 1
// below is slower
console.log(id.substring(id.length - 5)); //Outputs: Tabs1
console.log(id.substring(id.length - 1)); //Outputs: 1
Ja, Slice akzeptiert negative Werte, was großartig ist! slice()
Hinweis : developer.mozilla.org/de-US/docs/Web/JavaScript/Reference/
Dies sollte die Antwort sein, da die Verwendung von Slice auf diese Weise auch leistungsfähiger ist: jsperf.com/slice-vs-substr-and-length
Sie können die substr()-Methode mit einer negativen Startposition, um die letzten n Zeichen abzurufen. Zum Beispiel werden so die letzten 5 abgerufen:
var lastFiveChars = id.substr(-5);
Beste und kurze Antwort. Die ursprüngliche Stringlänge muss nicht bekannt sein (für aktuelle Browser, also ohne IE)
Das klingt gut, funktioniert aber nicht immer, siehe hier: w3schools.com/jsref/tryit.asp?filename=tryjsref_substring4
Die Ermittlung des letzten Zeichens ist einfach, da man Zeichenketten als Array behandeln kann:
var lastChar = id[id.length - 1];
Um einen Abschnitt einer Zeichenkette zu erhalten, können Sie die Teilbereich Funktion oder die Teilstring 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
y substring
ist, wie der zweite (optionale) Parameter behandelt wird. Unter substr
ist die Anzahl der Zeichen aus dem Index (der erste Parameter). In substring
ist der Index der Stelle, an der die Zeichenaufteilung enden soll.
Das folgende Skript zeigt das Ergebnis für das Abrufen der letzten 5 Zeichen und des letzten 1 Zeichens 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
Ausgang :
Tabs1 // Hat 5 Zeichen
1 // 1 Zeichen erhalten
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
9 Stimmen
Um das letzte Zeichen zu erhalten, wäre die beste Option id.charAt(id.length-1)
79 Stimmen
Hinweis für die Leser: Lesen Sie unbedingt über die erste Antwort hinaus, vor allem die von @Terence.
2 Stimmen
Mögliches Duplikat von Wie erhält man das letzte Zeichen einer Zeichenkette?