gpt4 book ai didi

Javascript - 用对象值替换字符串中的单词

转载 作者:行者123 更新时间:2023-12-03 08:50:10 24 4
gpt4 key购买 nike

我有一个带有键和值的对象,其中键是变量名。例如:

{name: 'Simon', gender: 'male', age: 43, country: 'UK'}

我还有一个字符串/字符串文字,我需要用它们各自的变量名称替换以“#”开头的单词。例如

Hello my name is #name!

I'm a #age year old #gender living in the #country.

最终结果是:

Hello my name is Simon!

I'm a 43 year old male living in the UK.

我可以获得一些有关如何在 Javascript 中执行此操作的建议吗?到目前为止,我只是迭代字符串并找到每次出现的“#”并尝试替换它,直到看到第一个分隔符/特殊字符/空格等,但不知道如何将其放入代码中。

for(let i = 0; i < string.length; i++){
if(string[i] == '#'){
//not sure how to complete it
}
}

最佳答案

一种方法是使用正则表达式,例如

/#(\w+)/g

Regular expression visualization

它将在字符串中查找所有以# 开头的子字符串,然后使用.replace引用对象中的值的方法

const data = {name: 'Simon', gender: 'male', age: 43, country: 'UK'};

const template = `Hello my name is #name!
I'm a #age year old #gender living in the #country.`

const result = template.replace(/#(\w+)/g, (match,key)=>data[key]||match);

console.log(result);

关于Javascript - 用对象值替换字符串中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59469110/

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