如何根据javascript中的字典将所有具有特殊字符的子字符串替换为另一个子字符串?
我有一根像这样的大绳子-:如何根据javascript中的字典将所有具有特殊字符的子字符串替换为另一个子字符串?,javascript,substring,Javascript,Substring,我有一根像这样的大绳子-: str=“$a+$b+$a+$c?$a$c$c…..” 和一个字典对象-: {“$a”:“2”、“$b”:“3”、“$c”:“4”、…}即所有键都是以“$”开头的子字符串 使用replace() const data={“$a”:“2”、“$b”:“3”、“$c”:“4”} const str=“$a+$b+$a+$c?$a$c$c…” const res=str.replace(/\$\w+\b/g,match=>data[match]) console.log(
str=“$a+$b+$a+$c?$a$c$c…..”
和一个字典对象-:
{“$a”:“2”、“$b”:“3”、“$c”:“4”、…}
即所有键都是以“$”开头的子字符串
使用replace()
const data={“$a”:“2”、“$b”:“3”、“$c”:“4”}
const str=“$a+$b+$a+$c?$a$c$c…”
const res=str.replace(/\$\w+\b/g,match=>data[match])
console.log(res)
当字符串中有其他子字符串以$开头但在字典中没有时,此解决方案不起作用,例如-:const data={“$a”:“2”,“$b”:“3”,“$c”:“4”}
const str=“$a+$b+$a+$c?$a$c$d”这里我不想更改$d。但是您的解决方案输出如下-:2+3+2+4?244未定义
我是否需要使用字典以外的其他工具,如果是,有任何建议吗?请尝试data[match]| |‘
实际上我想要这个答案-:2+3+2+4?244$d
即不想修改其他子字符串,但它将返回此2+3+2+4?244
@AmanGupta数据[匹配]|匹配
。请适当提问你需要什么。至少试一下