Backslash,String und RegExp
Severin
- javascript
0 Norbert Klein0 peterS.0 Severin
Hallo,
Also ich möchte ein vom User eingegebenes Wort mit einem anderen Erstetzten. Also praktisch:
text.replace(/\Variable\b/,"NeuesWort");
Das funktioniert nicht, da er so Variable als String behandelt.
Also habe ich versucht /\ und \b/ in variablen zu speichern. Also:
var1="/";
var2="\b/";
var3=var1+Variable+var2;
text.replace(var3,"NeuesWort");
Jetz bekomme ich immer ein Problem und zwar "nichtabgeschlossene Zeichenkette"(oder so...)
Also habe ich versucht nach dem Backslash ein leerzeichen zu lassen Also:
var1=" /\ ";
...
Dann erhiet ich keine fehlermedung, aber getan hat sich auch nichts :(
Darum meine Frage: Gibt es eine möglichkeit den Backslsh zu maskieren (ASCII,binär,etc), irgendeine andere Möglichkeit das zu realiesieren oder ist es unmöglich?
Danke,
Severin
Hallo.
Darum meine Frage: Gibt es eine möglichkeit den Backslsh zu maskieren (ASCII,binär,etc), irgendeine andere Möglichkeit das zu realiesieren oder ist es unmöglich?
Aus / wird / und aus \ wird \.
Also in deinem Fall: text.replace(/\Variable\b/,"NeuesWort");
Gruß
Norbert
gruss Severin,
text.replace(/\Variable\b/,"NeuesWort");
Das funktioniert nicht, da er so Variable als String behandelt.
Also habe ich versucht /\ und \b/ in variablen zu speichern. Also:
var1="/";
var2="\b/";
var3=var1+Variable+var2;
text.replace(var3,"NeuesWort");
benutze doch den RegExp-konstruktor:
var regExpression = new RegExp(variable+"\b","g");
// var regExpression = new RegExp("\b"+variable+"\b","g");
// alert(regExpression );
text = text.replace(regExpression,"neuesWort");
// eval() taete es auch -
// var regExpression = eval("/\b"+variable+"\b/g");
// - verstoesst aber gegen die reine lehre;
by(t)e by(t)e - peterS. - pseliger@gmx.net
Vielen Dank für den Tipp. Das hat mir wirklich viel geholfen :)
gruß,
Severin