Heim  >  Artikel  >  Web-Frontend  >  So ersetzen Sie alle angegebenen Zeichen in einer Zeichenfolge mithilfe von js

So ersetzen Sie alle angegebenen Zeichen in einer Zeichenfolge mithilfe von js

怪我咯
怪我咯Original
2017-03-30 09:41:482453Durchsuche

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>




So ersetzen Sie alle angegebenen Zeichen in einer Zeichenfolge mithilfe von js

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!

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