为js编写一个类似C#中string.format的函数
c#中string类下面有一个静态方法format,顾名思义,他是指格式化一段字符串,它的用法如下:
string x="aaa{0}bbb{1}";
x=string.Format(x,1,2);
其方便性是不言而喻的,由于在工作中也经常使用javascript,难免会想着在javascript中实现c#中的一些优秀函数,现在我们来为javascript写一个format函数,其核心代码如下:
/// <summary>
/// 字符串格式化,类似C#里面的string.Format函数
/// </summary>
/// <param name="strSrc">字符串源,类似"aa{0}bb{1}cc{2}"这样的字符串</param>
/// <param>不固定的参数</param>
function(strSrc)
{
var argLen=arguments.length-1;
var str=strSrc;
var arr=arguments;
str=str.replace(/{(\d+)}/g,function($0,$1){return arr[parseInt($1)+1];})
return str;
}
用法很简单,示例如下:
var x="aaa{0}bbb{1}";
x=format(x,1,2);
有兴趣的朋友可以拿去测试下哦!