我需要一个字符串帮助器来替换方括号内的所有变量。使用javascript
"Hello, [0]".modify(["ABC"])
"Heelo, [0], This is [1]".modify(["ABC", "XYZ"])
"Heelo, [0], This is [1], Your email address is [2]".modify(["ABC", "XYZ", "abcdef@example.com"])
所以基本上 modify()将获取数组并用适当的索引替换字符串。
任何建议都会有所帮助。
答案 0 :(得分:0)
String.prototype.modify = function(arr) {
return this.replace(/\[(\d+)\]/g, function(c, m) {
return arr[m] === undefined ? c : arr[m];
});
};
"Heelo, [0], This is [1]".modify(["ABC", "XYZ"]);
// "Heelo, ABC, This is XYZ"
答案 1 :(得分:0)
String.prototype.modify = function() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var reg = new RegExp("\\[" + i + "\\]", "gm");
s = s.replace(reg, arguments[i + 1]);
}
return s;
}
答案 2 :(得分:0)
所有答案都很有用,
但是我使用了@PedrodelSol
提供的链接中的in-build功能"Hello {0}, This is {1}".format(["ABC", "XYZ"])