[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/String/substring [Back]  [Original]

String.prototype.substring() - JavaScript | MDN

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.substring()

Baseline Weitgehend verfgbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Gerten und in vielen Browserversionen. Sie ist seit Juli 2015 browserbergreifend verfgbar.

Die substring() Methode von String Werten gibt den Teil dieses Strings vom Startindex bis zum Endindex zurck, ausgenommen den Endindex, oder bis zum Ende des Strings, wenn kein Endindex angegeben ist.

In diesem Artikel

Probieren Sie es aus

const str = "Mozilla";

console.log(str.substring(1, 3));
// Expected output: "oz"

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

Syntax

js
substring(indexStart)
substring(indexStart, indexEnd)

Parameter

indexStart

Der Index des ersten Zeichens, das im zurckgegebenen Teilstring enthalten sein soll.

indexEnd Optional

Der Index des ersten Zeichens, das im zurckgegebenen Teilstring ausgeschlossen sein soll.

Rckgabewert

Ein neuer String, der den angegebenen Teil des gegebenen Strings enthlt.

Beschreibung

substring() extrahiert Zeichen von indexStart bis aber nicht einschlielich indexEnd. Insbesondere:

  • Wenn indexEnd weggelassen oder undefined ist, extrahiert substring() Zeichen bis zum Ende des Strings.
  • Wenn indexStart gleich indexEnd ist, gibt substring() einen leeren String zurck.
  • Wenn indexStart grer als indexEnd ist, wirkt substring() so, als wren die beiden Argumente vertauscht; siehe Beispiel unten.

Jedes Argument mit einem Wert kleiner als 0 oder grer als str.length wird behandelt, als wre es 0 bzw. str.length.

Jedes Argument mit dem Wert NaN wird behandelt, als wre es 0.

Beispiele

Verwendung von substring()

Das folgende Beispiel verwendet substring(), um Zeichen aus dem String "Mozilla" anzuzeigen:

js
const anyString = "Mozilla";

console.log(anyString.substring(0, 1)); // "M"
console.log(anyString.substring(1, 0)); // "M"

console.log(anyString.substring(0, 6)); // "Mozill"

console.log(anyString.substring(4)); // "lla"
console.log(anyString.substring(4, 7)); // "lla"
console.log(anyString.substring(7, 4)); // "lla"

console.log(anyString.substring(0, 7)); // "Mozilla"
console.log(anyString.substring(0, 10)); // "Mozilla"

Verwendung von substring() mit der Lnge-Eigenschaft

Das folgende Beispiel verwendet die substring() Methode und die length Eigenschaft, um die letzten Zeichen eines bestimmten Strings zu extrahieren. Diese Methode ist mglicherweise leichter zu merken, da Sie die Start- und Endindizes nicht kennen mssen, wie in den obigen Beispielen.

js
const text = "Mozilla";

// Takes 4 last characters of string
console.log(text.substring(text.length - 4)); // prints "illa"

// Takes 5 last characters of string
console.log(text.substring(text.length - 5)); // prints "zilla"

Der Unterschied zwischen substring() und substr()

Es gibt subtile Unterschiede zwischen den substring() und substr() Methoden, daher sollten Sie darauf achten, sie nicht zu verwechseln.

  • Die beiden Parameter von substr() sind start und length, whrend sie bei substring() start und end sind.
  • Der start-Index von substr() wird zum Ende des Strings umgebrochen, wenn er negativ ist, whrend substring() ihn auf 0 klemmt.
  • Negative Lngen in substr() werden als null behandelt, whrend substring() die beiden Indizes vertauscht, wenn end kleiner als start ist.

Darber hinaus wird substr() als ein veraltetes Merkmal in ECMAScript betrachtet, daher ist es am besten, die Verwendung zu vermeiden, wenn mglich.

js
const text = "Mozilla";
console.log(text.substring(2, 5)); // "zil"
console.log(text.substr(2, 3)); // "zil"

Unterschiede zwischen substring() und slice()

Die substring() und slice() Methoden sind fast identisch, aber es gibt einige subtile Unterschiede zwischen den beiden, insbesondere in der Art, wie mit negativen Argumenten umgegangen wird.

Die substring() Methode vertauscht ihre beiden Argumente, wenn indexStart grer als indexEnd ist, was bedeutet, dass trotzdem ein String zurckgegeben wird. Die slice() Methode gibt in diesem Fall einen leeren String zurck.

js
const text = "Mozilla";
console.log(text.substring(5, 2)); // "zil"
console.log(text.slice(5, 2)); // ""

Wenn eines oder beide Argumente negativ oder NaN sind, behandelt die substring() Methode sie als 0.

js
console.log(text.substring(-5, 2)); // "Mo"
console.log(text.substring(-5, -2)); // ""

slice() behandelt NaN Argumente auch als 0, aber wenn es negative Werte erhlt, zhlt es vom Ende des Strings rckwrts, um die Indizes zu finden.

js
console.log(text.slice(-5, 2)); // ""
console.log(text.slice(-5, -2)); // "zil"

Siehe die slice() Seite fr weitere Beispiele mit negativen Zahlen.

Ersetzen eines Teilstrings innerhalb eines Strings

Das folgende Beispiel ersetzt einen Teilstring innerhalb eines Strings. Es werden sowohl einzelne Zeichen als auch Teilstrings ersetzt. Der Funktionsaufruf am Ende des Beispiels erstellt einen String Brave New Web aus dem ursprnglichen String Brave New World.

js
// Replaces oldS with newS in the string fullS
function replaceString(oldS, newS, fullS) {
  for (let i = 0; i < fullS.length; ++i) {
    if (fullS.substring(i, i + oldS.length) === oldS) {
      fullS =
        fullS.substring(0, i) +
        newS +
        fullS.substring(i + oldS.length, fullS.length);
    }
  }
  return fullS;
}

replaceString("World", "Web", "Brave New World");

Beachten Sie, dass dies zu einer Endlosschleife fhren kann, wenn oldS selbst ein Teilstring von newS ist zum Beispiel, wenn Sie versuchen wrden, "World" durch "OtherWorld" zu ersetzen.

Eine bessere Methode zum Ersetzen von Strings ist wie folgt:

js
function replaceString(oldS, newS, fullS) {
  return fullS.split(oldS).join(newS);
}

Der obige Code dient als Beispiel fr Teilstring-Operationen. Wenn Sie Teilstrings ersetzen mssen, mchten Sie meistens String.prototype.replace() verwenden.

Spezifikationen

Spezifikation
ECMAScript 2027 LanguageSpecification
# sec-string.prototype.substring

Browser-Kompatibilitt

Siehe auch


Web Proxy Viewer  |  New URL  |  Original Page