有没有办法在javascript中格式化字符串
Is there a way of formatting strings in javascript?
好吧,在python或java或...我们做这样的sth:(Python版本)
tmp = "how%s" %("isit")
现在TMP看起来像"Howisit"。
在JavaScript中是否有类似的东西?(而不是冲刺)
谢谢
不是内置的,但您可以通过扩展 String 原型来制作自己的模板:
String.prototype.template = String.prototype.template ||
function(){
var args = arguments;
function replacer(a){
return args[Number(a.slice(1))-1] || a;
}
return this.replace(/('$)?'d+/gm,replacer)
};
// usages
'How$1'.template('isit'); //=> Howisit
var greet = new Date('2012/08/08 08:00') < new Date
? ['where','yesterday'] : ['are','today'];
'How $1 you $2?'.template(greet[0],greet[1]); // How where you yesterday?
不,没有。您可以执行字符串串联。
var tmp = 'how' + 'isit';
或者replace
在其他情况下。这是一个愚蠢的例子,但你明白了:
var tmp = 'how{0}'.replace('{0}', 'isit');
不,javascript 中没有内置的字符串格式。
没有内置函数,但是您可以轻松地自己构建一个。replace
函数可以接受函数参数,是这项工作的完美解决方案。尽管要小心处理大字符串和复杂的表达式,因为这可能会很快变慢。
var formatString = function(str) {
// get all the arguments after the first
var replaceWith = Array.prototype.slice.call(arguments, 1);
// simple replacer based on String, Number
str.replace(/%'w/g, function() {
return replaceWith.shift();
});
};
var newString = formatString("how %s %s?", "is", "it");
我认为
您可以使用这些(简单的)片段;
function formatString(s, v) {
var s = (''+ s), ms = s.match(/(%s)/g), m, i = 0;
if (!ms) return s;
while(m = ms.shift()) {
s = s.replace(/(%s)/, v[i]);
i++;
}
return s;
}
var s = formatString("How%s", ["isit"]);
或;
String.prototype.format = function() {
var s = (""+ this), ms = s.match(/(%s)/g) || [], m, v = arguments, i = 0;
while(m = ms.shift()) {
s = s.replace(/(%s)/, v[i++]);
}
return s;
}
var s = "id:%s, name:%s".format(1,"Kerem");
console.log(s);
相关文章:
- 如何格式化字符串以修复Javascript中的缩进
- momentjs 显示本地时间和自动格式化字符串
- 有没有办法在javascript中格式化字符串
- Javascript/Regex,用于在键入时格式化字符串
- 如何在 Response.Write 中格式化字符串
- 我是jQuery和JSON的新手.我需要帮助格式化字符串,以便我可以迭代它
- 如何在 JavaScript 中获取格式化字符串的值
- 在 javascript 中格式化字符串
- 从ISODate转到一个漂亮的格式化字符串
- 使用javascript jquery或css格式化字符串日期
- Regex用于查找Java's在JavaScript中格式化字符串
- 如何使用格式化字符串访问JavaScript对象中的SUB属性
- 谷歌地图,格式化字符串.(去掉撇号)
- 通过getJSON返回函数获取格式化字符串
- 计算字符串中的出现次数和格式化字符串:显示结果
- Javascript将YYMMDD格式化字符串转换为日期对象
- RegEx在JavaScript中拆分格式化字符串
- 如何使用特定格式格式化字符串变量
- 如何在javascript中使用正则表达式格式化字符串
- 在JS中格式化字符串到日期