Javascript 如何在${variable}的每个实例上拆分``(反勾选字符串)

Javascript 如何在${variable}的每个实例上拆分``(反勾选字符串),javascript,string,backticks,Javascript,String,Backticks,所以我的问题是,如何在变量的每个实例上使用backtick拆分字符串 我尝试使用\${.*},但这不起作用,因为${variable}将首先被变量值替换,然后执行分割函数 知道怎么做吗 设a=2 设b=4 让x=`超人${a}你好${b}再来一个`.split/\${.*?}/g logx行执行后,无法获取原始模板字符串。但是,可以使用标记函数/标记的模板文字来获取字符串的各个部分,包括替换值: 功能测试{ console.logarguments 返回参数。长度-1 } 设a=2 设b=4

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

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

知道怎么做吗

设a=2 设b=4 让x=`超人${a}你好${b}再来一个`.split/\${.*?}/g
logx行执行后,无法获取原始模板字符串。但是,可以使用标记函数/标记的模板文字来获取字符串的各个部分,包括替换值:

功能测试{ console.logarguments 返回参数。长度-1 } 设a=2 设b=4 让c=Test`Superman${a}你好${b}再测试一次`
log`此模板字符串具有${c}替换值`行执行后,无法获取原始模板字符串。但是,可以使用标记函数/标记的模板文字来获取字符串的各个部分,包括替换值:

功能测试{ console.logarguments 返回参数。长度-1 } 设a=2 设b=4 让c=Test`Superman${a}你好${b}再测试一次`
log`这个模板字符串有${c}个替换值`我使用的一种方法是使用模板文本。我在一个名为的库中看到了这一点,它允许我们用js编写css

如果有其他的方法,你愿意看看吗

函数splitOnVariablestr,年龄{ //函数的第一个参数始终是输入字符串中提供的字符串数组。 返回str } 设a=1; 设b=2;
logsplitOnVariable`hello${a}在变量${b}上打断我` 我使用的一种方法是使用模板文字。我在一个名为的库中看到了这一点,它允许我们用js编写css

如果有其他的方法,你愿意看看吗

函数splitOnVariablestr,年龄{ //函数的第一个参数始终是输入字符串中提供的字符串数组。 返回str } 设a=1; 设b=2;
logsplitOnVariable`hello${a}在变量${b}上打断我` 为了澄清我对原始问题的评论,下面是一个默认模板文本函数的示例:

函数defaultTemplateLiteralFnstrs,…args{ 返回strs.mapstr,idx=>str+args[idx]||.join; } 常数试验=特殊试验; 常数a=10; 常数b=432; log`这是一个${test}${a} +${b}=${a+b}`
logdefaultTemplateLiteralFn`这是一个${test}${a} +${b}=${a+b}`为了澄清我对原始问题的评论,这里有一个默认模板文本函数的示例:

函数defaultTemplateLiteralFnstrs,…args{ 返回strs.mapstr,idx=>str+args[idx]||.join; } 常数试验=特殊试验; 常数a=10; 常数b=432; log`这是一个${test}${a} +${b}=${a+b}`
logdefaultTemplateLiteralFn`这是一个${test}${a} +${b}=${a+b}`我想当拆分运行时,字符串已经被变量替换了。你可以使用带标签的模板文本。一种方法是,如果你想拆分它,就不要使用回勾号,如果你想正确生成字符串,就使用回勾号。我想问题是。。。你为什么要这样做?@adiga是的,我知道,我在书中已经提到过comment@Intervalia我很想学习js。所以,我只是在胡闹,我已经用回勾做了,并且已经贴出了答案,但是我想看看是否有更多的方法可以做到这一点。我认为在split运行时,字符串将已经被变量替换。你可以使用带标签的模板文本。一种方法是,如果你想拆分它,不要使用反勾号,如果你想正确生成字符串,则使用反勾号。我想问题是。。。你为什么要这样做?@adiga是的,我知道,我在书中已经提到过comment@Intervalia我很想学习js。所以,我只是在胡闹,我已经用回勾做了,并且已经作为答案发布了,但我想看看是否有更多的方法来做这件事。