Sagen wir, ich diese Zeichenfolge habenWarum entfernt diese RegExp in String.replace meine Backslashes?
Ich möchte mit einigen Zeichenfolge alle Vorkommen von $ $ Projektname ersetzen. Z.B. ergeben sollte es mit TEST ersetzen:
"examples\output\TEST\TEST.csproj"
Die nächstgelegene ich gekommen bin, dies zu erreichen, ist:
("examples\output\$projectname$\$projectname$.csproj")
.replace(new RegExp("\\$projectname\\$", "g"), "TEST");
, die ergibt:
"examplesoutputTESTTEST.csproj"
Auch beim Schreiben ...
("examples\output\$projectname$\$projectname$.csproj")
.replace(new RegExp("output", "g"), "TEST");
... dies wird immer noch die b entfernen ackslashes
"examplesTEST$projectname$$projectname$.csproj"
Warum passiert das und wie verhindere ich das?
Ich mag falsch sein, aber ich denke, Sie müssen ein Escape-Zeichen ('/') vor Ihren Backslashes setzen. –
Es ist nicht die Regex, es ist nur Ihre ursprüngliche Zeichenfolge ist falsch. [lesen] (https://stackoverflow.com/questions/3903488/javascript-backslash-in-variables-is-causing-an-error) – James