0

我需要一个字符串助手来用变量替换方括号内的所有内容。使用 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()将获取数组并用适当的索引替换字符串。

任何意见将是有益的。

4

3 回答 3

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"
于 2013-02-26T12:03:12.263 回答
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;
}
于 2013-02-26T12:03:48.467 回答
0

所有的答案都很有用,

但我使用了内置功能,来自@PedrodelSol 提供的链接

"Hello {0}, This is {1}".format(["ABC", "XYZ"]) 
于 2013-02-26T12:28:54.600 回答