javascript - 如何在 ${variable} 的每个实例上拆分 ``(反引号字符串)

标签 javascript string backticks

所以我的问题是如何在每个变量实例上用 backtick 拆分字符串。

我尝试使用 \${.*?} 但这不起作用,因为 ${variable} 将首先被变量值替换,然后拆分函数将被执行。

知道怎么做吗?

let a = 2
let b = 4
let x = `Superman${a}hello${b}one more`.split(/\${.*?}/g)

console.log(x)

另一方面:我不想要将它包装到 "或 ' 的解决方案。

console.log('`Superman${a}hello${b}one more`'.split(/\${.*?}/g))

最佳答案

该行执行后,无法获取原始模板字符串。但是,您可以使用标记函数/标记模板文字来获取字符串的各个部分,包括替换值:

function Test() {
  console.log(arguments)
  return arguments.length - 1
}

let a = 2
let b = 4
let c = Test `Superman${a}hello${b}one more`
console.log(`This template string has ${c} substituted values`)

关于javascript - 如何在 ${variable} 的每个实例上拆分 ``(反引号字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54579119/

相关文章:

javascript - 将子方法分配给 JS 中的方法的绝对最干净的方法?

perl - 如何在 Perl 中使用反引号捕获两个不同变量中的 STDOUT 和 STDERR

javascript - AngularJS Web API - IE 不发布表单正文

javascript - 为什么 Babel 不参与我的 React Native 项目?

java - 如何更改此方法以返回字符串列表而不是字符串?

java - 使用管道符号作为分隔符拆分字符串

c++ - printf 末尾的不需要的字符

php - 使用csv文件-PHP创建表到mysql时添加反引号

Bash 在使用反引号时提示 here-document 中的语法错误

javascript - 文件夹的工具提示