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

Wie ersetze ich alle Instanzen einer bestimmten Zeichenfolge in JavaScript?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-24 14:30:02844Durchsuche

How to Replace All Instances of a Specific String in JavaScript?

So ersetzen Sie alle Vorkommen einer Zeichenfolge in JavaScript

Problem:

Bei Verwendung der in JavaScript integrierten Ersetzung( )-Methode zum Ersetzen eines Teilstrings wird nur das erste Vorkommen ersetzt, wie in diesem Beispiel zu sehen ist:

<code class="javascript">var string = "Test abc test test abc test test test abc test test abc";
string = string.replace('abc', ''); // Only replaces the first 'abc' occurrence</code>

Wie können wir alle Vorkommen eines Teilstrings in JavaScript ersetzen?

Lösung:

Verwenden von String.replaceAll()

Moderne Browser:

Moderne Browser unterstützen die Methode String.replaceAll(), die ersetzt alle Vorkommen einer Teilzeichenfolge durch einen angegebenen Ersatz:

<code class="javascript">string = string.replaceAll('abc', ''); // Replaces all 'abc' occurrences</code>

Für ältere/ältere Browser

Benutzerdefinierte Funktion:

Für ältere oder ältere Browser Browser, die String.replaceAll() nicht unterstützen, können wir eine benutzerdefinierte Funktion verwenden:

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

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

Verwendung:

<code class="javascript">console.log(replaceAll(string, 'abc', '')); // Replaces all 'abc' occurrences</code>

Hinweis:

  • Die Funktion escapeRegExp() maskiert Sonderzeichen in der Suchzeichenfolge, um eine genaue Übereinstimmung sicherzustellen.
  • Das g-Flag im regulären Ausdruck stellt sicher, dass alle Vorkommen ersetzt werden.

Das obige ist der detaillierte Inhalt vonWie ersetze ich alle Instanzen einer bestimmten 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