Heim > Artikel > Web-Frontend > So ersetzen Sie alle angegebenen Zeichen in einer Zeichenfolge mithilfe von js
Dies ist das erste Mal, dass ich entdeckt habe, dass die Methode replace() in JavaScript nur das erste übereinstimmende Zeichen ersetzt, wenn str.replace("-","!") direkt verwendet wird >
Und str.replace(/-/g, „!“) kann alle übereinstimmenden Zeichen ersetzen (g ist ein globales Flag).
replace()
Die Methode replace() gibt die Zeichenfolge zurück, die sich ergibt, wenn Sie Text ersetzen, der seinem ersten Argument entspricht
(ein regulärer Ausdruck) mit dem Text des zweiten Arguments (eine Zeichenfolge).
Wenn das g-Flag (global) in der regulären Ausdrucksdeklaration nicht gesetzt ist, ersetzt diese Methode nur das erste
Vorkommen des Musters . Zum Beispiel:
var s = „Hallo. Regexps machen Spaß.“ ;s = s.replace(/./, „!“ );
erzeugt die Zeichenfolge „Hallo! Regexps machen Spaß.“ Das Einfügen des g-Flags führt dazu, dass der Interpreter
eine globale Ersetzung durchführt und beispielsweise jeden passenden Teilstring findet und ersetzt
var s = "Hallo. Regexps machen Spaß." ;s = s.replace(/./g, "!" ); // alle Punkte durch Ausrufezeichen ersetzenalert(s);
ergibt dieses Ergebnis: „Hallo! Regexps machen Spaß!“
Sie können also die folgenden Methoden verwenden:
string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);
string:
String
Expressionenthält den zu ersetzenden Teilstring. reallyDo: Die durchsuchte Teilzeichenfolge.
replaceWith: Teilzeichenfolge, die zum Ersetzen verwendet wird.
Js-Code
<script type="text/javascript"> String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) { if (!RegExp.prototype.isPrototypeOf(reallyDo)) { return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith); } else { return this.replace(reallyDo, replaceWith); } } </script>
Das obige ist der detaillierte Inhalt vonSo ersetzen Sie alle angegebenen Zeichen in einer Zeichenfolge mithilfe von js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!