在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

posted on 2011-06-26 16:43  空空儿  阅读(523)  评论(0编辑  收藏  举报