Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. JavaScript-Referenz
  4. Eingebaute Standardobjekte
  5. String
  6. substring()

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

View in EnglishAlways switch to English

String.prototype.substring()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

Diesubstring() Methode vonString Werten gibt den Teil dieses Strings vom Startindex bis zum Endindex zurück, ausgenommen den Endindex, oder bis zum Ende des Strings, wenn kein Endindex angegeben ist.

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 zurückgegebenen Teilstring enthalten sein soll.

indexEndOptional

Der Index des ersten Zeichens, das im zurückgegebenen Teilstring ausgeschlossen sein soll.

Rückgabewert

Ein neuer String, der den angegebenen Teil des gegebenen Strings enthält.

Beschreibung

substring() extrahiert Zeichen vonindexStart bisaber nicht einschließlichindexEnd. Insbesondere:

  • WennindexEnd weggelassen oderundefined ist, extrahiertsubstring() Zeichen bis zum Ende des Strings.
  • WennindexStart gleichindexEnd ist, gibtsubstring() einen leeren String zurück.
  • WennindexStart größer alsindexEnd ist, wirktsubstring() so, als wären die beiden Argumente vertauscht; siehe Beispiel unten.

Jedes Argument mit einem Wert kleiner als0 oder größer alsstr.length wird behandelt, als wäre es0 bzw.str.length.

Jedes Argument mit dem WertNaN wird behandelt, als wäre es0.

Beispiele

Verwendung von substring()

Das folgende Beispiel verwendetsubstring(), 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 Länge-Eigenschaft

Das folgende Beispiel verwendet diesubstring() Methode und dielength Eigenschaft, um die letzten Zeichen eines bestimmten Strings zu extrahieren. Diese Methode ist möglicherweise leichter zu merken, da Sie die Start- und Endindizes nicht kennen müssen, wie in den obigen Beispielen.

js
const text = "Mozilla";// Takes 4 last characters of stringconsole.log(text.substring(text.length - 4)); // prints "illa"// Takes 5 last characters of stringconsole.log(text.substring(text.length - 5)); // prints "zilla"

Der Unterschied zwischen substring() und substr()

Es gibt subtile Unterschiede zwischen densubstring() undsubstr() Methoden, daher sollten Sie darauf achten, sie nicht zu verwechseln.

  • Die beiden Parameter vonsubstr() sindstart undlength, während sie beisubstring()start undend sind.
  • Derstart-Index vonsubstr() wird zum Ende des Strings umgebrochen, wenn er negativ ist, währendsubstring() ihn auf0 klemmt.
  • Negative Längen insubstr() werden als null behandelt, währendsubstring() die beiden Indizes vertauscht, wennend kleiner alsstart ist.

Darüber hinaus wirdsubstr() als einveraltetes Merkmal in ECMAScript betrachtet, daher ist es am besten, die Verwendung zu vermeiden, wenn möglich.

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

Unterschiede zwischen substring() und slice()

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

Diesubstring() Methode vertauscht ihre beiden Argumente, wennindexStart größer alsindexEnd ist, was bedeutet, dass trotzdem ein String zurückgegeben wird. Dieslice() Methode gibt in diesem Fall einen leeren String zurück.

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

Wenn eines oder beide Argumente negativ oderNaN sind, behandelt diesubstring() Methode sie als0.

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

slice() behandeltNaN Argumente auch als0, aber wenn es negative Werte erhält, zählt es vom Ende des Strings rückwärts, um die Indizes zu finden.

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

Siehe dieslice() Seite für 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 StringBrave New Web aus dem ursprünglichen StringBrave New World.

js
// Replaces oldS with newS in the string fullSfunction 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 führen kann, wennoldS selbst ein Teilstring vonnewS ist — zum Beispiel, wenn Sie versuchen würden,"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 für Teilstring-Operationen. Wenn Sie Teilstrings ersetzen müssen, möchten Sie meistensString.prototype.replace() verwenden.

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-string.prototype.substring

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp