这里有一个类似于C#的String.format方法;我已经扩展了JavaScript的String
对象,包含如下的格式化方法:
String.format = function(stringToFormat, argsForFormat) {
for (var i = 0; i < argsForFormat.length; i++) {
var regex = new RegExp('\{(' + i + ')}', 'g');
stringToFormat = stringToFormat.replace(regex, argsForFormat[i]);
}
return stringToFormat;
};
您可以像这样调用它。
var args = [1, 'activity', 'stackoverflow', 'desc']
var apiUrlAnswer = 'https://api.stackexchange.com/2.0/answers/{0}?order={3}&sort={1}&site={2}';
var apiUrlAnswer = String.format(apiUrlAnswer, args);
或者内嵌版本看起来像这样。
var apiUrlAnswer = String.format('https://api.stackexchange.com/2.0/answers/{0}?order={3}&sort={1}&site={2}', [1, 'activity', 'stackoverflow', 'desc'])
还有一个例子
String.format("http://{0}.{1}.com", ['www', 'stackoverflow']);
String
操作方法的任意组合完成,但是.replace()
是使用一条语句完成它的简单方式... - nnnnnnString.format()
类型的功能,例如JavaScript中的sprintf()。如果你在Google上搜索“JavaScript String.format”,你会得到很多选项。 - nnnnnn