在链接Javascript中替换部分字符串

时间:2016-11-15 15:45:46

标签: javascript vuejs2

我有以下链接:

/v1/catalogue/folders/{catalogueId:[0-9]+}/translations/{translationId:[0-9]+}/

以及以下数据:

catalogueId: 31
translationId: 4

现在我想用大括号的值更改大括号之间的部分。所以链接需要看起来像这样:

/v1/catalogue/folders/31/translations/4/

Javascript中有没有办法实现这个?如果是,那是什么意思?

2 个答案:

答案 0 :(得分:2)

这是其中一个选项:

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] ];
});

答案 1 :(得分:1)

见下面的例子

std::log
atan2(y,x)