C# stringformat这个功能用到的地方比较多 所以就用js实现了一个简单的版本
复制代码 代码如下:
Stringformat = function ()
{
var formatStr = arguments[];
if ( typeof formatStr === string )
{
var pattern
length = argumentslength;
for ( var i = ; i < length; i++ )
{
pattern = new RegExp( \\{ + ( i ) + \\} g );
formatStr = formatStrreplace( pattern arguments[i] );
}
} else
{
formatStr = ;
}
return formatStr;
};
以上代码给javascript String类加了一个静态方法 format 然后其用法就和c#的 stringformat一模一样了 测试如下:
复制代码 代码如下:
Stringformat({}/{})
输出
复制代码 代码如下:
Stringformat({}+{}+{}={}++)
输出: ++=
复制代码 代码如下:
Stringformat({name:leonwang}helloworld)
输出:
如果第一个参数不是string类型 就简单返回空string 不做进一步处理