Javascript 搜索并替换特定图案
我有以下要求: 我有一个url作为Javascript 搜索并替换特定图案,javascript,Javascript,我有以下要求: 我有一个url作为 var url = '/test/mybin/processes/{testName}/test?id={testId}'; url中可以包含任意数量的{}。让我们假设上面它在两个位置{testName}和{testId}有{}。它可以有任意数量的这样的参数 我需要用实际值替换这些参数的值。 我需要首先知道每个{}中属性的名称,并在加载url之前用实际值替换它们 假设在上面的例子中,我必须首先提取{}中每个属性的名称,并用实际值替换它们 在我的方法中: te
var url = '/test/mybin/processes/{testName}/test?id={testId}';
url中可以包含任意数量的{}。让我们假设上面它在两个位置{testName}和{testId}有{}。它可以有任意数量的这样的参数
我需要用实际值替换这些参数的值。
我需要首先知道每个{}中属性的名称,并在加载url之前用实际值替换它们
假设在上面的例子中,我必须首先提取{}中每个属性的名称,并用实际值替换它们
在我的方法中:
testName=Test和testId=1
因此,我希望url值为
'/test/mybin/processes/Test/test?id=1'.
你能告诉我实现这一目标的最佳方法吗
谢谢,塔尼像这样的东西应该可以奏效: var obj={testName:mytest,testId:1}; var url='/test/mybin/processs/{testName}/test?id={testId}'; var regex=/{.*?}/g; var replaced=url.replaceregex,functionm,p1{ 返回obj[p1]; }; 更换警报 将正则表达式与
function f(map,url) {
var pattern = /{(\w+)}/g;
var replacer = function(a,b){
return map[b];
};
var o = url.replace(pattern,replacer);
return o;
}
我尝试使用regex var regExp=/\{[^\}]*\};去拿火柴。但它只给了我第一个匹配。你错过了/g标志