同时替换字符串中的特定字符

时间:2013-05-15 22:04:28

标签: javascript string replace

var str = 'Hello World'
var replacements = {0: '4', 6: '77'};
magicalReplace(str, replacements);
// result: 4ello 77orld

你能帮我写一下有助于解决这个问题的功能吗? 最重要的是在同一时刻更换它,因为替换可能比单个字符更长。

1 个答案:

答案 0 :(得分:2)

这个代码片段可以完成这项工作,也可以解决未排序的密钥:

String.prototype.magicalReplace = function(replacements) {
    var chars = this.split("");
    for(var key in replacements) {
        if(replacements.hasOwnProperty(key)) {
            chars[key] = replacements[key];
        }
    }

    return chars.join("");
}

工作演示:http://jsfiddle.net/HdCFj/