JavaScript里String.Format方法的实现

在Javascript里通过原型扩展和正则表达式实现类似于C#里的String.Format方法.

方法实现:

String.prototype.format = function (args) {

var str = this;

return str.replace(new RegExp("{-?[0-9]+}", "g"), 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;

});

};

使用如下:

var str = "She {1} {0}{2} by the {0}{3}. {-1}^_^{-2}";

str = str.format(["sea", "sells", "shells", "shore"]);

alert(str);//out put: She sells seashells by the seashore. {^_^}

原文地址:String.Format in JavaScript