替换链接Javascript中字符串的一部分

替换链接Javascript中字符串的一部分,javascript,vuejs2,Javascript,Vuejs2,我有以下链接: /v1/catalogy/folders/{catalogeId:[0-9]+}/translations/{translationId:[0-9]+}/ 以及以下数据: catalogueId: 31 translationId: 4 现在我想用数据对象的值来更改花括号之间的部分。因此,链接需要如下所示: /v1/catalog/folders/31/translations/4/ Javascript中有没有办法实现这一点?如果是,是什么方式?这是选项之一: const r

我有以下链接:

/v1/catalogy/folders/{catalogeId:[0-9]+}/translations/{translationId:[0-9]+}/

以及以下数据:

catalogueId: 31
translationId: 4
现在我想用数据对象的值来更改花括号之间的部分。因此,链接需要如下所示:

/v1/catalog/folders/31/translations/4/


Javascript中有没有办法实现这一点?如果是,是什么方式?

这是选项之一:

const regex = /\{(.*?)\}/g
const url = "/v1/catalogue/folders/{catalogueId:[0-9]+}/translations/{translationId:[0-9]+}/"
const replacements = { catalogueId: 19, translationId: 20 } 

const result = url.replace(regex, function(_, segment) {
  return replacements[ segment.split(':')[0] ];
});
见下面的例子

var数据={
电话号码:31,,
翻译ID:4,
};
var url=$('#mylink').attr('href');
for(var输入数据){
var regex=newregexp('{'+key+'[^}]*}','g');
console.log(regex);
url=url.replace(regex,data[key]);
}
console.log(url);
$('#mylink').attr('href',url)


当您尝试时,出现了什么问题?我建议看一看,作为一个提示。但首先,是浏览器地址栏中的链接(您是否在该链接所代表的页面上),还是文档中其他地方的字符串?简洁明了。编辑以删除一些参数化噪波(如果有麻烦,请道歉)