gpt4 book ai didi

javascript - 用javascript替换双花括号

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:05:39 26 4
gpt4 key购买 nike

我正在尝试对 String 对象进行原型(prototype)设计,使其具有 replaceWith 函数,使我能够在不使用正则表达式的情况下直接替换

String.prototype.replaceWith = function(f, t) {
var regExp = new RegExp("[" + f + "]", "g");
return this.replace(regExp, t);
};

例如,当我在这个字符串 {{Hello}} 中测试我的代码时,我发现替换双花括号是一个问题

测试

'{{Hello}}'.replaceWith('{{','<<').replaceWith('}}','>>');

结果是

 "<<<<Hello>>>>"

应该是什么时候

"<<Hello>>"

我的脚本有什么问题??

谢谢你的帮助

最佳答案

[{{][{] 完全相同这与 { 相同在正则表达式中。方括号表示匹配该类中任何字符之一的字符类。你应该改变:

"[" + f + "]"

收件人:

f

所以你有:

String.prototype.replaceWith = function(f, t) {
var regExp = new RegExp(f, "g");
return this.replace(regExp, t);
};

正如 Marlin 指出的那样,它与 String.prototype.replace 具有相同的功能除了你不需要添加 g修饰符,在我心目中'{{Hello}}'.replace(/{{/g, '<<');'{{Hello}}'.replaceWith('{{', '<<'); 更简洁易懂。 .

关于javascript - 用javascript替换双花括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8455555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com