C# string.format這個功能用到的地方比較多, 所以就用js實作了一個簡單的版本 :
🎜> var formatStr = arguments[0];
if ( typeof formatStr === 'string' ) length = arguments.length;
for ( var i = 1; i pattern = new RegExp( '\{' ( i - 1 ) '\}', 'g' );
formatStr = formatStr.replace( pattern, arguments[i] );
}
}
formatStr = '';
}
}
}
}
}
}
}
}
}
return formatStr; };
以上程式碼為javascript String類別加了一個靜態方法 format, 然後其用法就和c#的 string.format一模一樣了, 測試如下:
複製程式碼
程式碼如下:
String.format('http://wcf.openString.open .a.com/blog/sitehome/paged/{0}/{1}',1,20)輸出: "http://wcf.open.a.com/blog/sitehome/paged/1/ 20"
程式碼如下:
String.format('{0} {0} {0} {00} 1}={2}',1,2,1 1 2)輸出: "1 1 2=4"
程式碼如下:
String.format({name:'leonwang'} 'hello,world')輸出: ""
如果第一個參數不是string型, 就簡單回傳空string, 不做進一步處理。