如何更换:
var url = "http://localhost:2879/ServiceDonneesArchive.svc/Installations(1002)?$expand=Stations";
由:
var nameInstallation = 1002;
var url = "http://localhost:2879/ServiceDonneesArchive.svc/Installations(nameInstallation)?$expand=Stations";
答案 0 :(得分:1)
为什么这么难?对于这个用例,简单的连接将是非常可读的:
var nameInstallation = 1002;
var url = 'http://localhost:2879/ServiceDonneesArchive.svc/Installations(' + nameInstallation + ')?$expand=Stations';
答案 1 :(得分:1)
使用.replace()
method。要使用"nameInstallation"
替换url
变量中"1002"
的任何实例:
url = url.replace(/nameInstallation/g, "1002");
或者,如果您在变量nameInstallation = 1002
中有替换值:
url = url.replace(/nameInstallation/g, nameInstallation);
编辑:正如David Thomas所指出的,你可能不需要正则表达式上的g
标志,它是.replace()
的第一个参数。使用此“全局”标志,它将替换文本“nameInstallation”的所有实例。如果没有标志,它将只替换第一个实例。所以要么包括它,要么根据您的需要将其关闭。 (如果您只需要替换第一个匹配项,您还可以选择将字符串作为第一个参数而不是正则表达式。)
答案 2 :(得分:0)
试试这个javascript函数
// from http://www.codeproject.com/Tips/201899/String-Format-in-JavaScript
String.prototype.format = function (args) {
var str = this;
return str.replace(String.prototype.format.regex, function(item) {
var intVal = parseInt(item.substring(1, item.length - 1));
var replace;
if (intVal >= 0) {
replace = args[intVal];
} else if (intVal === -1) {
replace = "{";
} else if (intVal === -2) {
replace = "}";
} else {
replace = "";
}
return replace;
});
};
String.prototype.format.regex = new RegExp("{-?[0-9]+}", "g");
并使用:
var url = "http://localhost:2879/ServiceDonneesArchive.svc/Installations{0}?$expand=Stations";
var nameInstallation = 1002;
var result = url.format(nameInstallation );