美文网首页
字符串中多次replace操作

字符串中多次replace操作

作者: 圆滚滚大煤球 | 来源:发表于2021-09-07 11:44 被阅读0次
 <script>
        var str = '<div>{{name}}今年{{age}}岁了</div>';
        // 匹配{{}}里面的\s空格,*0-n次,[a-zA-Z]大小写字母 +可以出现多次
        var pattern = /{{\s*([a-zA-Z]+)\s*}}/

        // 第一次匹配
        var res1 = pattern.exec(str);
        // 字符串替换操作
        str = str.replace(res1[0],res1[1])
        // 返回["{{name}}", "name", index: 5, input: "<div>{{name}}今年{{age}}岁了</div>", groups: undefined]
        console.log(str);//<div>name今年{{age}}岁了</div>
        
        // 第二次匹配
        var res2 = pattern.exec(str);
        // ["{{age}}", "age", index: 11, input: "<div>name今年{{age}}岁了</div>", groups: undefined]
        str = str.replace(res2[0],res2[1])
        console.log(str);//<div>name今年age岁了</div>
        // 总结:一定要str = str.replace(res1[0],res1[1]),替换后,name没有了{{}},第二次匹配才会出现{{age}}

        // 第三次匹配
        var res3 = pattern.exec(str);
        console.log(res3);//null
    </script>

相关文章

网友评论

      本文标题:字符串中多次replace操作

      本文链接:https://www.haomeiwen.com/subject/oqnuwltx.html