gpt4 book ai didi

javascript - 根据搜索/替换对替换字符串中的多个值

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

如何在 javascript 中通过替换将值替换为数组。

我想一起完成替换数字(例如)。怎么样?

1 -replace whit-> 11
2 -替换 whit-> 22

演示: http://jsfiddle.net/ygxfy/

<script type="text/javascript">
var array = {"1":"11", "2":"22"}
var str="13332";
document.write(str.replace(array));
</script>​

最佳答案

您必须使用 RegEx 创建一个模式,然后将其传递给 .replace 方法。

var array = {"1":"11", "2":"22"}; // <-- Not an array btw.
// Output. Example: "1133322"
document.write( special_replace("13332", array) );

function special_replace(string_input, obj_replace_dictionary) {
// Construct a RegEx from the dictionary
var pattern = [];
for (var name in obj_replace_dictionary) {
if (obj_replace_dictionary.hasOwnProperty(name)) {
// Escape characters
pattern.push(name.replace(/([[^$.|?*+(){}\\])/g, '\\$1'));
}
}

// Concatenate keys, and create a Regular expression:
pattern = new RegExp( pattern.join('|'), 'g' );

// Call String.replace with a regex, and function argument.
return string_input.replace(pattern, function(match) {
return obj_replace_dictionary[match];
});
}

关于javascript - 根据搜索/替换对替换字符串中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10045122/

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