Heim > Web-Frontend > js-Tutorial > Wie kann ich in JavaScript mehrere Zeichenfolgen gleichzeitig ersetzen?

Wie kann ich in JavaScript mehrere Zeichenfolgen gleichzeitig ersetzen?

Susan Sarandon
Freigeben: 2024-11-29 18:34:11
Original
469 Leute haben es durchsucht

How Can I Replace Multiple Strings Simultaneously in JavaScript?

Gleichzeitiges Ersetzen mehrerer Zeichenfolgen in JavaScript

In JavaScript ist das Ersetzen mehrerer Zeichenfolgen durch mehrere andere Zeichenfolgen in einem einzigen Vorgang mit der Methode replace() allein nicht einfach. Um das gewünschte Ergebnis zu erzielen, sind alternative Ansätze erforderlich.

Spezifische Lösung:

Eine Methode besteht darin, eine Funktion zu verwenden, um jede Ersetzung zu verarbeiten.

var str = "I have a cat, a dog, and a goat.";
var mapObj = {
   cat:"dog",
   dog:"goat",
   goat:"cat"
};
str = str.replace(/cat|dog|goat/gi, function(matched){
  return mapObj[matched];
});
Nach dem Login kopieren

Verallgemeinerung der Lösung:

Um diese Lösung flexibler zu gestalten, kann ein dynamischer regulärer Ausdruck mit generiert werden Object.keys()-Methode und das entsprechende Kartenobjekt.

var re = new RegExp(Object.keys(mapObj).join("|"),"gi");
str = str.replace(re, function(matched){
  return mapObj[matched.toLowerCase()];
});
Nach dem Login kopieren

Ergänzungen oder Änderungen an den Ersetzungen können jetzt einfach durch Modifizieren des Kartenobjekts vorgenommen werden.

Wiederverwendbare Funktion :

Aus Gründen der Wiederverwendbarkeit kann diese Logik in eine eigenständige Logik abstrahiert werden Funktion:

function replaceAll(str,mapObj){
    var re = new RegExp(Object.keys(mapObj).join("|"),"gi");

    return str.replace(re, function(matched){
        return mapObj[matched.toLowerCase()];
    });
}
Nach dem Login kopieren

Diese Funktion kann mit der zu transformierenden Zeichenfolge und den gewünschten Ersetzungen als Eingabe aufgerufen werden und gibt die geänderte Zeichenfolge zurück.

Das obige ist der detaillierte Inhalt vonWie kann ich in JavaScript mehrere Zeichenfolgen gleichzeitig ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage