假设我有以下代码:
var str = "abcde";
str.replace("a", "ab")
str.replace("b", "c")
str的值从abcde
到abbcde
再到acccde
。我该如何使这两个操作同时发生,以便 str
的值从 abcde
变为 abccde
?
编辑:我正在谈论与此类似的任何情况,而不仅仅是这个特定情况。
最佳答案
当替换包含这些类型的模式时,首先执行独立的操作,然后执行其他操作,如下所示。
var str = "abcde";
str.replace("b", "c");
str.replace("a", "ab");
或者使用某些 map 替换它们:
var str = "abcde";
var mapObj = {
a:"ab",
b:"c"
};
str = str.replace(/a|b/gi, function(matched){
return mapObj[matched];
});
console.log(str);
输出:
abccde
关于javascript - 同时替换字符串的多个部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48697659/