String.prototype.substr()

Veraltet: Diese Funktion wird nicht mehr empfohlen. Obwohl einige Browser sie möglicherweise noch unterstützen, könnte sie bereits aus den relevanten Webstandards entfernt worden sein, in Kürze entfernt werden oder nur noch aus Kompatibilitätsgründen bestehen. Vermeiden Sie die Verwendung und aktualisieren Sie vorhandenen Code, falls möglich; siehe die Kompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.

Die substr() Methode von String Werten gibt einen Teil dieses Strings zurück, beginnend bei dem angegebenen Index und erstreckt sich über eine bestimmte Anzahl von Zeichen danach.

Hinweis: substr() ist nicht Teil der Haupt-ECMAScript-Spezifikation — es ist definiert in Anhang B: Zusätzliche ECMAScript-Funktionen für Webbrowser, welches optional normativ für Nicht-Browser-Laufzeitumgebungen ist. Daher wird empfohlen, stattdessen die Standardmethoden String.prototype.substring() und String.prototype.slice() zu verwenden, um den Code möglichst plattformübergreifend freundlich zu gestalten. Die Seite von String.prototype.substring() bietet einige Vergleiche zwischen den drei Methoden.

Probieren Sie es aus

Syntax

js
substr(start)
substr(start, length)

Parameter

start

Der Index des ersten Zeichens, das im zurückgegebenen Substring enthalten sein soll.

length Optional

Die Anzahl der Zeichen, die extrahiert werden sollen.

Rückgabewert

Ein neuer String, der den angegebenen Teil des gegebenen Strings enthält.

Beschreibung

Die substr() Methode eines Strings extrahiert length Zeichen aus dem String, beginnend ab dem start Index.

  • Wenn start >= str.length, wird ein leerer String zurückgegeben.
  • Wenn start < 0, beginnt der Index vom Ende des Strings zu zählen. Formaler ausgedrückt beginnt der Substring in diesem Fall bei max(start + str.length, 0).
  • Wenn start weggelassen oder als undefined angegeben wird, wird er als 0 behandelt.
  • Wenn length weggelassen oder als undefined angegeben wird, oder wenn start + length >= str.length, extrahiert substr() Zeichen bis zum Ende des Strings.
  • Wenn length < 0, wird ein leerer String zurückgegeben.
  • Sowohl für start als auch length wird NaN als 0 behandelt.

Obwohl es empfohlen wird, substr() nicht zu verwenden, gibt es keinen trivialen Weg, substr() in altem Code zu slice() oder substring() zu migrieren, ohne im Wesentlichen ein Polyfill für substr() zu schreiben. Zum Beispiel haben str.substr(a, l), str.slice(a, a + l) und str.substring(a, a + l) alle unterschiedliche Ergebnisse, wenn str = "01234", a = 1, l = -2 sind — substr() gibt einen leeren String zurück, slice() gibt "123" zurück, während substring() "0" zurückgibt. Der tatsächliche Refactoring-Pfad hängt von der Kenntnis des Bereichs von a und l ab.

Beispiele

Verwendung von substr()

js
const aString = "Mozilla";

console.log(aString.substr(0, 1)); // 'M'
console.log(aString.substr(1, 0)); // ''
console.log(aString.substr(-1, 1)); // 'a'
console.log(aString.substr(1, -1)); // ''
console.log(aString.substr(-3)); // 'lla'
console.log(aString.substr(1)); // 'ozilla'
console.log(aString.substr(-20, 2)); // 'Mo'
console.log(aString.substr(20, 2)); // ''

Spezifikationen

Specification
ECMAScript Language Specification
# sec-string.prototype.substr

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch