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 in der Folge eine bestimmte Anzahl von Zeichen.
Hinweis:
substr() ist nicht Teil der Haupt-ECMAScript-Spezifikation — es ist in Anhang B: Zusätzliche ECMAScript-Funktionen für Web-Browser definiert, der optional normativ für nicht-browserbasierte Laufzeiten ist. Deshalb wird empfohlen, stattdessen die Standardmethoden String.prototype.substring() und String.prototype.slice() zu verwenden, um den Code möglichst plattformübergreifend kompatibel zu machen. Die Seite zu String.prototype.substring() bietet 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
substr(start)
substr(start, length)
Parameter
start-
Der Index des ersten Zeichens, das in die zurückgegebene Teilzeichenkette aufgenommen werden soll.
lengthOptional-
Die Anzahl der zu extrahierenden Zeichen.
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, beginnt die Teilzeichenkette in diesem Fall beimax(start + str.length, 0). - Wenn
startweggelassen wird oderundefinedist, wird es als0behandelt. - Wenn
lengthweggelassen wird oderundefinedist, oder wennstart + length >= str.length, extrahiertsubstr()Zeichen bis zum Ende des Strings. - Wenn
length < 0, wird ein leerer String zurückgegeben. - Sowohl für
startals auch fürlengthwirdNaNals0behandelt.
Obwohl empfohlen wird, substr() zu vermeiden, gibt es keinen trivialen Weg, substr() in alten Code auf slice() oder substring() zu migrieren, ohne im Wesentlichen ein Polyfill für substr() zu erstellen. 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 — 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 vom Wissen über den Bereich von a und l ab.
Beispiele
>Verwendung von substr()
const string = "Mozilla";
console.log(string.substr(0, 1)); // 'M'
console.log(string.substr(1, 0)); // ''
console.log(string.substr(-1, 1)); // 'a'
console.log(string.substr(1, -1)); // ''
console.log(string.substr(-3)); // 'lla'
console.log(string.substr(1)); // 'ozilla'
console.log(string.substr(-20, 2)); // 'Mo'
console.log(string.substr(20, 2)); // ''
Spezifikationen
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.prototype.substr> |
Browser-Kompatibilität
Loading…