Heim >Web-Frontend >js-Tutorial >So ersetzen Sie alle Vorkommen einer Zeichenfolge in JavaScript

So ersetzen Sie alle Vorkommen einer Zeichenfolge in JavaScript

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 14:12:02779Durchsuche

How to Replace All Occurrences of a String in JavaScript

Mehrfaches Vorkommen einer Zeichenfolge in JavaScript ersetzen

Möglicherweise müssen Sie mehrere Vorkommen einer Zeichenfolge in JavaScript ersetzen, aber das ist der Standard Die Methode string.replace() entfernt nur die erste Instanz. Wie können Sie sicherstellen, dass alle Vorkommen ersetzt werden?

Moderne Lösung (ES2021)

Moderne Browser unterstützen jetzt die Methode String.replaceAll(), die Ihnen das Ersetzen nativ ermöglicht alle Instanzen einer Zeichenfolge. Verwenden Sie einfach die Syntax:

<code class="js">string = string.replaceAll('abc', '');</code>

Legacy-Lösung für ältere Browser

Für ältere Browser können Sie einen regulären Ausdruck mit dem Flag g (global) verwenden:

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

Sonderzeichen mit Escapezeichen versehen

Reguläre Ausdrücke enthalten Sonderzeichen. Seien Sie daher vorsichtig, wenn Sie eine Variable für das Suchargument übergeben. Verwenden Sie die Funktion escapeRegExp(), um alle Sonderzeichen sicher zu maskieren:

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

Daher wird die aktualisierte Funktion „replaceAll()“ zu:

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

Diese Lösung stellt alle Vorkommen der angegebenen Zeichenfolge sicher werden trotz Browserkompatibilität ersetzt.

Das obige ist der detaillierte Inhalt vonSo ersetzen Sie 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