• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] replace mit $BeispielText$

nbfde

New member
[GELÖST] replace mit $BeispielText$

Hallo Community,
ich habe aktuell ein (hoffentlich) kleines Problem.
Mit der Funktion replace soll ein String in der Form $irgendeinName$, durch einen anderen ersetzt werden.
Das Problem ist, ohne die Dollar-Zeichen funktioniert es.
Sobald diese aber in replace drin sind, liefert die Funktion kein Ergebnis.
Die beiden $-Zeichen sind aber zwingend erforderlich, da diese zur Maskierung bestimmter Teile im Text dienen.

Ein kurzes Beispiel:
var a = "Hallo dies ist $test$";
var b = "Testtext";
var c = a.replace(a,b);

Das Ergebnis sollte dann so aussehen: "Hallo dies ist ein Testtext".
Konkret kommt a aus einer Textarea mit umfangreichem Text, und für jedes durch $$ eingeschlossene Wort gibt es einen eigenen Ersetzungsstring.

Aktuell bin ich soweit bei der Fehlersuche, dass es an den $-Zeichen liegt, aber warum, und wie könnte man das berichtigen?

Vielen Dank!
nbfde

- - - Aktualisiert - - -

Vielen Dank an alle Leser.
Das Problem hat sich mittlerweile erledigt. Die Ersetzung funktionierte, nur die spezielle Textarea mit Syntax Highlighting (von codemirror), stellt die Ersetzungen noch nicht da.
 
Zuletzt bearbeitet:
An dem $ liegt es ganz sicher nicht, da das in JS überhaupt keine besondere Stellung hat. Deine Methodenaufruf ist einfach falsch:
Code:
var a = "Hallo dies ist $test$";
var b = "Testtext";
var c = a.replace("$test$",b);
alert(c);

Damit wird aber nur ein Vorkommen von "$test$" ersetzt. Wenn du alle Ersetzen willst, musst du mit einer RegExp mit der g-Flag arbeiten:
Code:
var a = "Hallo dies ist $test$ im $test$";
var b = "Testtext";
var c = a.replace(/\$test\$/g,b);
alert(c);
- hierbei musst du das $ maskieren, da es in der RegExp-Syntax ein Sonderzeichen ist.
 
Zurück
Oben