har*_*mar 5 javascript regex string reactjs
我从后端收到一个字符串。让我们说
"Save Earth, ${name}"
Run Code Online (Sandbox Code Playgroud)
在前端,我正在使用javascript
我想知道如何name从获取字符串的变量进行绑定。
我知道 JS 中的字符串插值,如下所示
`Save Earth, ${name}`
Run Code Online (Sandbox Code Playgroud)
即使使用字符串插值也无济于事,我从后端获取正常字符串,如下所示:
const name = "John";
const response = "Save Earth, ${name}";
console.log(`${response}`);
Run Code Online (Sandbox Code Playgroud)
我得到了什么
"Save Earth, ${name}"
Run Code Online (Sandbox Code Playgroud)
预期的
"Save Earth, John"
Run Code Online (Sandbox Code Playgroud)
注意:我不能使用字符串查找和替换方法,因为变量名可以是任何东西。
编辑:我是否只需要在这里使用Regextofind & replace方法。
为什么我要寻找另一种方法? 因为字符串可能很长,我觉得这会增加时间复杂度。
查找和替换仍然可以与正则表达式一起使用。
您可以使用对象而不是单独的变量来替换您要替换的数据。然后在替换函数中,您可以传递一个函数作为第二个参数,该函数返回正确的数据。
对象的原因是我们无法通过名称访问变量(除非将它们添加到窗口对象中)。
const response = "${name} is ${age} years old!";
const data = {
name: "John Doe",
age: "42"
};
const replaceVariable = (match, inner) => {
return data[inner] || "";
}
const replaced = response.replace(/\$\{(\w+)\}/gi, replaceVariable);
console.log(replaced);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
275 次 |
| 最近记录: |