javascript – string.replace在node.js express server中不起作用

前端之家收集整理的这篇文章主要介绍了javascript – string.replace在node.js express server中不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要读取一个文件并用动态内容替换该文件中的一些文本.当我尝试使用string.replace时,它不适用于我从文件中读取的数据.但是它正在工作的字符串.我正在使用节点. js和表达.
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);
    }
});

输出

temp: Hello Myname,would you like some tea?
msg: Hello %NAME%,would you like some %DRINK%?

解决方法

msg = msg.replace(/%name%/gi,"myname");

您将字符串而不是正则表达式传递给第一个替换,并且它不匹配,因为情况不同.即使它确实匹配,您也不会将此修改后的值重新分配给msg.这很奇怪,因为你正在为tmp正确地做所有事情.

原文链接:https://www.f2er.com/js/155178.html

猜你在找的JavaScript相关文章