Javascript 剥离特定字符并替换为word

Javascript 剥离特定字符并替换为word,javascript,Javascript,如果我有这个字符串: This string should @[1234] by another word 例如,我想替换以删除@[]并将1234替换为“test”字,因此结果是: This string should test by another word 使用js有什么方法可以做到这一点吗?您可以使用正则表达式通过使用以下代码进行测试来重新计算@[XXX]: var string=“此字符串应@[1234]另加一个单词”; console.log(string.replace(/@\

如果我有这个字符串:

This string should @[1234] by another word
例如,我想替换以删除@[]并将1234替换为“test”字,因此结果是:

This string should test by another word

使用js有什么方法可以做到这一点吗?

您可以使用正则表达式通过使用以下代码进行测试来重新计算@[XXX]:

var string=“此字符串应@[1234]另加一个单词”;

console.log(string.replace(/@\[[0-9]+\]/gi,“test”)我建议首先定义从ID到替换的映射

然后使用
string.replace(regex,callback)
替换为与
@[1234]
匹配的正则表达式或括号内的任何其他id,并在捕获组中捕获该id

最后,您提供了一个回调,它接收捕获组的值作为第二个参数,并根据您的映射执行替换:

const input='这个字符串应该@[1234]加上另一个单词';
常量替换={'1234':'test'};
const output=input.replace(/@\[(\d+)\]/g,(match,id)=>replacements[id]);

控制台日志(输出)我猜您需要替换多个文本?如果是这样,您可以使用String.replace函数和回调函数,回调函数提供替换值。大概是这样的:

var repls={
“1234”:“测试”
};
var text=“此字符串应@[1234]另加一个单词”;
var result=text.replace(/@\[([0-9]+)\]/g,函数(entireMatch,键){
返回repls[key];
});

控制台日志(结果)有些代码不使用正则表达式,只使用
split()
join()
,并使用字符串作为分隔符

str='此字符串应@[1234]加另一个单词';

console.log(str.split('@[1234]')).join('test')