Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 dieKompatibilitätstabelle am Ende dieser Seite, um Ihre Entscheidung zu unterstützen. Beachten Sie, dass diese Funktion jederzeit aufhören könnte zu funktionieren.
Diesubstr() Methode vonString 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 inAnhang B: Zusätzliche ECMAScript-Funktionen für Web-Browser definiert, der optional normativ für nicht-browserbasierte Laufzeiten ist. Deshalb wird empfohlen, stattdessen die StandardmethodenString.prototype.substring() undString.prototype.slice() zu verwenden, um den Code möglichst plattformübergreifend kompatibel zu machen. Die Seite zuString.prototype.substring() bietet einige Vergleiche zwischen den drei Methoden.
In diesem Artikel
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
startDer Index des ersten Zeichens, das in die zurückgegebene Teilzeichenkette aufgenommen werden soll.
lengthOptionalDie Anzahl der zu extrahierenden Zeichen.
Rückgabewert
Ein neuer String, der den angegebenen Teil des gegebenen Strings enthält.
Beschreibung
Diesubstr() Methode eines Strings extrahiertlength Zeichen aus dem String, beginnend beimstart 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 aufslice() odersubstring() zu migrieren, ohne im Wesentlichen ein Polyfill fürsubstr() zu erstellen. Zum Beispiel habenstr.substr(a, l),str.slice(a, a + l), undstr.substring(a, a + l) alle unterschiedliche Ergebnisse, wennstr = "01234", a = 1, l = -2 —substr() gibt einen leeren String zurück,slice() gibt"123" zurück, währendsubstring()"0" zurückgibt. Der tatsächliche Refactoring-Pfad hängt vom Wissen über den Bereich vona undl 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> |