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 am angegebenen Index und wird um eine bestimmte Anzahl von Zeichen verlängert.

Hinweis:>substr() ist nicht Teil der Haupt-ECMAScript-Spezifikation — es ist in Anhang B: Zusätzliche ECMAScript-Funktionen für Webbrowser definiert, welcher für Nicht-Browser-Laufzeiten optional gilt. Daher wird empfohlen, die standardmäßigen String.prototype.substring() und String.prototype.slice() Methoden zu verwenden, um den Code möglichst plattformübergreifend freundlich zu gestalten. Die Seite über String.prototype.substring() enthält einige Vergleiche zwischen den drei Methoden.

Probieren Sie es aus

const str = "Mozilla";

console.log(str.substr(1, 2));
// Expected output: "oz"

console.log(str.substr(2));
// Expected output: "zilla"

Syntax

js
substr(start)
substr(start, length)

Parameter

start

Der Index des ersten Zeichens, das im zurückgegebenen Teilstring 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 beim start-Index.

  • Wenn start >= str.length, wird ein leerer String zurückgegeben.
  • Wenn start < 0, beginnt der Index von hinten im String zu zählen. Genauer gesagt startet in diesem Fall der Teilstring bei max(start + str.length, 0).
  • Wenn start weggelassen oder undefined ist, wird es als 0 behandelt.
  • Wenn length weggelassen oder undefined ist oder wenn start + length >= str.length, extrahiert substr() Zeichen bis zum Ende des Strings.
  • Wenn length < 0, wird ein leerer String zurückgegeben.
  • Für start und length wird NaN als 0 behandelt.

Obwohl Sie ermutigt werden, substr() zu vermeiden, gibt es keinen trivialen Weg, substr() in bestehendem Code zu slice() oder substring() zu migrieren, ohne im Wesentlichen einen Polyfill für substr() zu schreiben. Zum Beispiel: str.substr(a, l), str.slice(a, a + l), und str.substring(a, a + l) liefern alle unterschiedliche Ergebnisse, wenn str = "01234", a = 1, l = -2 ist — substr() gibt einen leeren String zurück, slice() gibt "123" zurück, während substring() "0" zurückgibt. Der tatsächliche Refactoring-Weg hängt vom Wissen über den Bereich 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® 2026 Language Specification
# sec-string.prototype.substr

Browser-Kompatibilität

Siehe auch