格式化字符串
Posted vbing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了格式化字符串相关的知识,希望对你有一定的参考价值。
格式化字符串(二)
直接使用字符串“.”方法的方式格式化字符串。
加强了字符串原有的
replace
,也就是说,字符串的原有原生方法,用法不变。
String.replace({JSON},|Boolean|?)
入门用法。
例如:
var string = "{name}是一个实用的{type},包含很多有趣的功能。".replace({ name: "v2", type: "前端轻量级框架" }); console.log(string); // => v2是一个实用的前端轻量级框架,包含很多有趣的功能。
说明:
用法{Naming}
1的方式嵌入字符串中。初级用法。
例如:
var string = "{name.v2}是一个实用的{type.slice(2)},包含很多有趣的功能。".replace({ name: { v2: "v2", vue: "vue" }, type: "前端轻量级框架" }); console.log(string); // => v2是一个实用的轻量级框架,包含很多有趣的功能。
说明:
用法{Naming.[Naming|Function]}
2的方式嵌入字符串中。中级用法。
例如:
var string = "{name.v2 + "和" + name.vue}都是实用的{type.slice(2)},包含很多有趣的功能。".replace({ name: { v2: "v2", vue: "vue" }, type: "前端轻量级框架" }); console.log(string); // => v2和vue都是实用的轻量级框架,包含很多有趣的功能。
说明:
用法{Naming.[Naming|Function] [*^<%>+/-] + Naming.[Naming|Function]}
3的方式嵌入字符串中。高级用法。
例如:
var string = "{name.v2 + "和" + name.vue}都是{level?.very}实用的{type.slice(2)},包含很多有趣的功能。".replace({ name: { v2: "v2", vue: "vue" }, level: { very: "【非常】" }, type: "前端轻量级框架" }); console.log(string); // => v2和vue都是【非常】实用的轻量级框架,包含很多有趣的功能。 var string = "{name.v2 + "和" + name.vue}都是{level?.very}实用的{type.slice(2)},包含很多有趣的功能。".replace({ name: { v2: "v2", vue: "vue" }, type: "前端轻量级框架" }); console.log(string); // => v2和vue都是实用的轻量级框架,包含很多有趣的功能。
说明:
用法{Naming?.[Naming|Function]}
4的方式嵌入字符串中。进价级用法。
例如:
var string = "{.?.name}是一个优秀的前端框架?".replace(null); console.log(string); // => 是一个优秀的前端框架?
说明:
用法{.?.Naming]}
5的方式嵌入字符串中。
均可与以上四种方式排列组合执行。
参考代码:Github
{Naming}
代表JSON
的属性名称,替换的时候将会把JSON
属性名称对应的值替换到字符串中。?{Naming.[Naming|Function]}
代表可以获取JSON
的属性值的属性值,以及调用属性值的方法(可以有多层,如:{a.b.c().d.e()})。?{Naming.[Naming|Function] [*^<%>+/-] Naming.[Naming|Function]}
代表多个值之间可以进行加、减、乘、除等运算(可以有多层,如:{a + b - c ^ d / e})。?{Naming?.[Naming|Function]}
可以加入探测符,在该值空(null
)的时候,终止运算,用于规避预料之内的异常(可以有多层,如:{a.b?.c()?.d.e()})。?{.?.Naming]}
本体探测,即对JSON
本身进行空值(null
)探测。注:第一个字符为.
代表JSON
对象本身。?
以上是关于格式化字符串的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Javadoc 中使用 @ 和 符号格式化代码片段?