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, wobei an dem angegebenen Index begonnen und anschließend eine bestimmte Anzahl von Zeichen extrahiert wird.
Hinweis: substr()
ist kein Bestandteil der Haupt-ECMAScript-Spezifikation — es ist in Anhang B: Zusätzliche ECMAScript-Funktionen für Webbrowser definiert, der optional und normativ für Nicht-Browser-Laufzeiten ist. Daher wird empfohlen, anstelle dessen die standardmäßigen Methoden String.prototype.substring()
und String.prototype.slice()
zu verwenden, um den Code maximal plattformübergreifend freundlich zu gestalten. Die Seite zu 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
substr(start)
substr(start, length)
Parameter
start
-
Der Index des ersten Zeichens, das in die zurückgegebene Teilzeichenkette einbezogen werden 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. Genauer gesagt startet die Teilzeichenkette in diesem Fall beimax(start + str.length, 0)
. - Wenn
start
weggelassen oderundefined
ist, wird es als0
behandelt. - Wenn
length
weggelassen oderundefined
ist, oder wennstart + length >= str.length
, extrahiertsubstr()
Zeichen bis zum Ende des Strings. - Wenn
length < 0
, wird ein leerer String zurückgegeben. - Sowohl für
start
als auch fürlength
wirdNaN
als0
behandelt.
Obwohl Sie ermutigt werden, substr()
zu meiden, gibt es keinen trivialen Weg, substr()
im Legacy-Code entweder auf slice()
oder substring()
umzustellen, ohne im Wesentlichen einen Polyfill für substr()
zu schreiben. Zum Beispiel haben str.substr(a, l)
, str.slice(a, a + l)
und str.substring(a, a + l)
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 Umstrukturierungspfad hängt von der Kenntnis des Bereichs von a
und l
ab.
Beispiele
Verwendung von substr()
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 |