Heim  >  Artikel  >  Web-Frontend  >  Wie ersetze ich alle Vorkommen einer Zeichenfolge in JavaScript?

Wie ersetze ich alle Vorkommen einer Zeichenfolge in JavaScript?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-25 08:13:03819Durchsuche

How to Replace All Occurrences of a String in JavaScript?

Ersetzen aller Instanzen einer Zeichenfolge in JavaScript

Gegeben eine Zeichenfolge wie „Test abc test test abc test test test abc test test abc“, die das erste Vorkommen von ersetzt „abc“ mit string.replace('abc', '') ist unzureichend. Bei dieser Frage geht es darum, wie man alle Vorkommen einer Zeichenfolge in JavaScript ersetzt.

Moderne Lösung (ECMAScript 2021 und höher):

Für moderne Browser die die ECMAScript 2021-Spezifikation unterstützen, können Sie die Methode String.replaceAll() verwenden:

<code class="javascript">str = str.replaceAll('abc', '');</code>

Legacy-Browser-Lösung:

Für ältere oder Legacy-Browser, die nicht verfügbar sind String.replaceAll() kann die folgende benutzerdefinierte Funktion verwendet werden:

<code class="javascript">function replaceAll(str, find, replace) {
  return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);
}

function escapeRegExp(str) {
  return str.replace(/[.*+?^${}()|[\]\]/g, '\$&'); // $& means the whole matched string
}</code>

Dieses Muster wurde mehrmals verfeinert, was letztendlich zur obigen Funktion replaceAll() führte, die String-Argumente im Suchparameter von pre aufnimmt -Verarbeitung, um Sonderzeichen zu maskieren.

Das obige ist der detaillierte Inhalt vonWie ersetze ich alle Vorkommen einer Zeichenfolge in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn