string.replace not working in node.js express server
express, file, javascript, node.js, string
Solution
msg = msg.replace(/%name%/gi, "myname");
You're passing a string instead of a regex to the first replace, and it doesn't match because the case is different. Even if it did match, you're not reassigning this modified value to `msg`. This is strange, because you're doing everything correctly for `tmp`.
Problem
I need to read a file and replace some texts in that file with dynamic content.when i tried string.replace it is not working for the data that i read from the file.But for the string it is working.I am using node.js and express. ``` fs.readFile('test.html', function read(err, data) { if (err) { console.log(err); } else { var msg = data.toString(); msg.replace("%name%", "myname"); msg.replace(/%email%/gi, 'example@gmail.com'); temp = "Hello %NAME%, would you like some %DRINK%?"; temp = temp.replace(/%NAME%/gi,"Myname"); temp = temp.replace("%DRINK%","tea"); console.log("temp: "+temp); console.log("msg: "+msg); } }); ``` Output: ``` temp: Hello Myname, would you like some tea? msg: Hello %NAME%, would you like some %DRINK%? ```