Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

String.prototype.substr()

Deprecated

Avoid using this feature in new projects. HTML wrapper methods exist only for backwards compatibility. Use DOM APIs to create elements instead. This feature may be a candidate for removal from web standards or browsers.

Consider using the following features instead: DOM.

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

Hinweis: substr() ist nicht Teil der Haupt-ECMAScript-Spezifikation — es wird in Anhang B: Zusätzliche ECMAScript-Funktionen für Webbrowser definiert, welcher normativ optional für Nicht-Browser-Laufzeiten ist. Daher wird empfohlen, stattdessen die standardmäßigen Methoden String.prototype.substring() und String.prototype.slice() zu verwenden, um den Code maximal plattformfreundlich zu gestalten. Die Seite 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 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, ausgehend vom start-Index.

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

Obwohl empfohlen wird, substr() zu vermeiden, gibt es keinen einfachen Weg, substr() in bestehendem Code auf slice() oder substring() zu migrieren, ohne im Wesentlichen ein Polyfill für substr() zu schreiben. Zum Beispiel liefern str.substr(a, l), str.slice(a, a + l) und str.substring(a, a + l) alle unterschiedliche Ergebnisse, wenn str = "01234", a = 1, l = -2substr() gibt einen leeren String zurück, während slice() "123" und substring() "0" zurückgeben. Der tatsächliche Umstrukturierungsweg hängt vom Wissen über den Bereich von a und l ab.

Beispiele

Verwendung von substr()

js
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

Spezifikation
ECMAScript® 2027 Language Specification
# sec-string.prototype.substr

Browser-Kompatibilität

Siehe auch