javascript - eine Bessere Möglichkeit zur Flucht haben Dollar-Zeichen in die Zeichenkette Von String.der Prototyp.ersetzen
Möchte ich ersetzen einer Zeichenfolge durch eine andere. Ich fand bei der replaceValue enthält "$"
ersetzen, wird scheitern. So versuche ich zu entkommen "$"
durch "$$"
ersten. Der code sieht wie folgt aus:
var str = ..., reg = ...;
function replaceString(replaceValue) {
str.replace(reg, replaceValue.replace(/\$/g, '$$$$'));
}
Aber ich denke, es ist hässlich, da muss ich schreiben, 4-dollar-Zeichen.
Gibt es irgendeine andere charactors, die ich brauche, um zu entkommen? Und gibt es eine bessere Möglichkeit, dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine Möglichkeit zu nennen
replace
, die es uns ermöglicht, nicht zu befürchten Flucht nichts.Ihre Methode, um zu entkommen die Ersatz-Zeichenfolge korrekt ist.
Gemäß § 15.5.4.11 String.der Prototyp.ersetzen von Sprachspezifikation ECMAScript edition 5.1, die alle spezielle Ersatz-Sequenzen beginnt mit
$
($&
,$`
,$'
,$n
,$nn
) und$$
legen Sie eine einzelne$
im Austausch.Daher ist es ausreichend, zu entfliehen diesem allen
$
mit Doppel -$$
wie das, was Sie tun, gerade jetzt, wenn die Ersatz-text gemeint ist, behandelt zu werden, buchstäblich.Gibt es keine andere prägnante Art und Weise zu tun, die Ersatz-soweit ich das sehen kann.
Leider nichts, was Sie dagegen tun können.
Es ist nur, wie JavaScript arbeitet mit regulären Ausdrücken.
Hier ist ein guter Artikel mit der Liste aller Ersatz-Muster, die Sie beachten sollten:
http://es5.github.io/#x15.5.4.11
Is there any other charactors that I need to escape?
. Der Artikel enthält die Muster, die er kennen sollte.