为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 JavaScript 中将 str.replace 与许多查找/替换对一起使用

如何在 JavaScript 中将 str.replace 与许多查找/替换对一起使用

ABOUTYOU 2021-11-18 20:54:54
我需要 JavaScript 中的一个函数,该函数将一个字符串作为输入,将多个子字符串替换为其对应的值,然后返回结果。例如:function findreplace(inputStr) {    const values = {"a": "A",              "B": "x",              "c": "C"};    // In this example, if inputStr is "abc", then outputStr should be "AbC".    return outputStr}我知道如何单独查找和替换,但我想知道是否有一种简单的方法可以同时处理多对(区分大小写)值。
查看完整描述

2 回答

?
撒科打诨

TA贡献1934条经验 获得超2个赞

只需在values以下帮助下迭代Object.entries(values):


function findreplace(inputStr) {

  const values = {

    "a": "A",

    "B": "x",

    "c": "C"

  };

  for (const [search, replace] of Object.entries(values)) {

    inputStr = inputStr.replace(search, replace);    

  }

  return inputStr;

}


console.log(findreplace("abc"));


查看完整回答
反对 回复 2021-11-18
?
交互式爱情

TA贡献1712条经验 获得超3个赞

您可以join keys构建一个正则表达式,然后replace相应地


function findreplace(inputStr) {

  let values = { "a": "A", "B": "x", "c": "C" };

  let regex = new RegExp("\\b" + Object.keys(values).join('|') + "\\b", 'g')

  return inputStr.replace(regex, (m) => values[m] )

}


console.log(findreplace('aBc'))

console.log(findreplace('AbC'))

console.log(findreplace('ABC'))


查看完整回答
反对 回复 2021-11-18
  • 2 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信