So ersetzen Sie alle Substrings in einer Zeichenfolge mithilfe der Ersatzmethode?

So ersetzen Sie alle Substrings in einer Zeichenfolge mithilfe der Ersatzmethode?
String -Operationen sind eines der wichtigsten Merkmale einer Programmiersprache. Heutzutage autorisieren Sie Passwörter, um gültige E -Mail -Adressen zu bestätigen, das Format einer Postanschrift zu überprüfen und die Anzahl der Ziffern in einer Telefonnummer zu überprüfen, die mit Hilfe von String -Operationen durchgeführt wird.

In JavaScript sind zahlreiche Methoden zur Streicherbetriebsmethoden verfügbar. Eine dieser Methoden ist die .ersetzen() Methode.

Was ist die Ersatz () -Methode?

Wie der Name angibt, die .ersetzen() Ersetzt eine Zeichenfolge oder einen Teil einer Zeichenfolge (Substring) durch eine andere Zeichenfolge.

Die Syntax der .ersetzen() Methode ist recht einfach:

Saite.ersetzen (ValuetOsearchfor, ValuetorePlaceWith);

Es gibt einen einzigartigen Faktor über die .ersetzen() Methode und es ist in seiner Syntax vorhanden. Lassen Sie uns also die Syntax erklären.

  • Saite: Die Zeichenfolge, deren Substring geändert werden soll.
  • ValuetoSearhfor: Ein Substring oder ein Regex, um der "String" gegen entspricht.
  • ValuetorePlaceWith: Neues Substring, das den alten ersetzt.
  • Rückgabewert: Eine Zeichenfolge mit dem modifizierten Substring.

Beispiel

Ein einfaches Beispiel der .ersetzen() Methode wäre als:

String = "Hallo Welt, Willkommen bei LinuxHint";
Konsole.log (string);
NewString = String.ersetzen ("Welt", "Programmierer");
Konsole.Protokoll (NewString);

Was wir hier tun, ist, dass wir eine Variable erstellen “Saite"Und geben ihm einen Textwert, der" Hallo Welt, Willkommen bei LinuxHint "ist. Wir möchten die Substring „Welt“ durch „Programmierer“ ersetzen, deshalb haben wir eine neue Variable erstellt und "Newstring" genannt und den von der zurückgegebenen Wert übergeben .ersetzen() Methode. Schließlich haben wir das Konsole.Protokoll() Drucken Sie die Werte beider Variablen aus.

Ausgang

Wie wir sehen können, hat die Variable „NewString“ die aktualisierte Zeichenfolge darin.

So verwenden Sie Regex in .ersetzen () Methode

Was ist, wenn wir nach mehreren Instanzen derselben Zeichenfolge suchen möchten?? Was ist, wenn unsere Zeichenfolge so ist:

String = "Braune Matte, brauner Tisch, brauner Stuhl, brauner Becher";

Und wir wollen alle "braunen" Substrings durch "Blau" ersetzen. Versuchen wir es mit der Methode, die wir oben gelernt haben.

String = "Braune Matte, brauner Tisch, brauner Stuhl, brauner Becher";
NewString = String.ersetzen ("braun", "blau");
Konsole.Protokoll (NewString);

Die Ausgabe ist:

Die Ausgabe ist:

Das wollten wir nicht. Also, was schief ging? Nun, nichts ist schief gelaufen. Die Art und Weise, wie das .Ersatz () Methode funktioniert, dass sie die erste Instanz des Substring findet, sie ersetzt und die Ausführung beendet. Wenn wir also mehrere Instanzen überprüfen möchten, müssen wir Regex mit dem globalen Flag „G“ verwenden. Erfahren Sie mehr über Regex in JavaScript.

Jetzt werden wir Regex im ersten Argument der ersetzen() Methode anstelle eines normalen Substrings, wie:

String = "Braune Matte, brauner Tisch, brauner Stuhl, brauner Becher";
NewString = String.ersetzen (/braun/g, "blau");
Konsole.Protokoll (NewString);

Wie Sie im untergegebenen Bild sehen können, haben wir das erste Argument von einem Substring zu einem regulären Ausdruck durch die globale Flagge ersetztG”. Die Ausgabe ist jetzt:

Wir haben genau das bekommen, was wir wollten. Es fehlt jedoch immer noch etwas, und das ist der Fall, in dem die mehreren Instanzen desselben Substrings unterschiedlichempfindlich sind. Stellen Sie sich die gleiche Zeichenfolge von oben vor, aber mit leichten Änderungen wie folgt:

String = "Braune Matte, brauner Tisch, brauner Stuhl, brauner Becher";

Wie Sie sehen können, hat das Substring, das wir „Brown“ ersetzen möchten, zwei verschiedene Fallempfindlichkeiten, die mit dem Kapitalbuchstaben „B“ und dem anderen mit dem unteren Buchstaben „B“ beginnend beginnend mit dem unteren Buchstaben „B“ beginnend sind. Wenn wir den normalen Regex mit der globalen Flagge verwenden “G”Gefällt mir:

String = "Braune Matte, brauner Tisch, brauner Stuhl, brauner Becher";
NewString = String.ersetzen (/braun/g, "blau");
Konsole.Protokoll (NewString);

Wir erhalten die folgende Ausgabe:

Wir gehen mehrere Instanzen durch, aber unsere Suchmethode ist Fallempfindlichkeit. Es zu ändern in Fall-unempfindlich Wir können die verwenden Flagge "Ich" zusammen mit Globale Flagge "G" wie:

NewString = String.ersetzen (/braun/gi, "blau");

Wenn wir diese Aussage anstelle des alten verwenden, erhalten wir die folgende Ausgabe

Abschluss

In JavaScript können wir ein Substring durch einen Stringwert ersetzen, indem wir die verwenden .ersetzen() Methode. Der .ersetzen() Methode nimmt zwei Argumente auf. Wir haben gelernt, was die Syntax der ist .ersetzen() Methode und wie lautet der Rückgabetyp. Darüber hinaus haben wir das benutzt .ersetzen() Methode in verschiedenen Beispielen, die sowohl die Substring als auch die regulären Ausdrücke verwenden, um nach möglichen Übereinstimmungen in einer Zeichenfolge zu suchen, und wir haben sogar verschiedene Flags durchlaufen, wenn wir reguläre Ausdrücke verwenden.