Baseline Widely available
Die substring()
Methode von String
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.
const str = "Mozilla";
console.log(str.substring(1, 3));
// Expected output: "oz"
console.log(str.substring(2));
// Expected output: "zilla"
Syntax
substring(indexStart)
substring(indexStart, indexEnd)
Parameter
indexStart
Der Index des ersten Zeichens, das im zurückgegebenen Teilstring enthalten sein soll.
indexEnd
Optional
Der Index des ersten Zeichens, das im zurückgegebenen Teilstring ausgeschlossen sein soll.
Ein neuer String, der den angegebenen Teil des gegebenen Strings enthält.
Beschreibungsubstring()
extrahiert Zeichen von indexStart
bis aber nicht einschlieÃlich indexEnd
. Insbesondere:
indexEnd
weggelassen oder undefined
ist, extrahiert substring()
Zeichen bis zum Ende des Strings.indexStart
gleich indexEnd
ist, gibt substring()
einen leeren String zurück.indexStart
gröÃer als indexEnd
ist, wirkt substring()
so, als wären die beiden Argumente vertauscht; siehe Beispiel unten.Jedes Argument mit einem Wert kleiner als 0
oder gröÃer als str.length
wird behandelt, als wäre es 0
bzw. str.length
.
Jedes Argument mit dem Wert NaN
wird behandelt, als wäre es 0
.
Das folgende Beispiel verwendet substring()
, um Zeichen aus dem String "Mozilla"
anzuzeigen:
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 die substring()
Methode und die length
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.
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.
substr()
sind start
und length
, während sie bei substring()
start
und end
sind.start
-Index von substr()
wird zum Ende des Strings umgebrochen, wenn er negativ ist, während substring()
ihn auf 0
klemmt.substr()
werden als null behandelt, während substring()
die beiden Indizes vertauscht, wenn end
kleiner als start
ist.Darüber hinaus wird substr()
als ein veraltetes Merkmal in ECMAScript betrachtet, daher ist es am besten, die Verwendung zu vermeiden, wenn möglich.
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
gröÃer als indexEnd
ist, was bedeutet, dass trotzdem ein String zurückgegeben wird. Die slice()
Methode gibt in diesem Fall einen leeren String zurück.
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
.
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 erhält, zählt es vom Ende des Strings rückwärts, um die Indizes zu finden.
console.log(text.slice(-5, 2)); // ""
console.log(text.slice(-5, -2)); // "zil"
Siehe die slice()
Seite für weitere Beispiele mit negativen Zahlen.
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 ursprünglichen String Brave New World
.
// 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 führen kann, wenn oldS
selbst ein Teilstring von newS
ist â zum Beispiel, wenn Sie versuchen würden, "World"
durch "OtherWorld"
zu ersetzen.
Eine bessere Methode zum Ersetzen von Strings ist wie folgt:
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 meistens String.prototype.replace()
verwenden.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4