现在ES6增加了很多的字符串的方法,但是有些感觉自己也不是很懂,所以就罗列了一些平常的用的。
includes, startsWith, endsWith
includes(): 返回布尔值,表示是否找到了参数字符串;
startsWith(): 返回布尔值,表示参数字符串是否在源字符串的头部
endsWith(): 返回布尔值,表示参数字符串是否在源字符串的尾部。
使用:
var s = 'Hello world';
s.startsWith('Hello');//true
s.endsWith('Hello');//true
s.includes('o');//true
也都可以支持第二个参数,表示开始搜索的位置。
var s = 'Hello world';
s.startsWith('world', 6);//true
s.endsWith('Hello', 5);//true
s.includes('Hello');//false
repeat()
repeat方法返回一个新的字符串,表示将原字符串重复n次。
'x'.repeat(3)//"xxx"
传入的如果是小数,会被取证;
如果是负数或者Infinity,会报错;
NaN等同于0;
如果是字符串,则会先转换成数字。
padStart、 padEnd
为了补全字符串,引入了padStart和padEnd。如果字符串不够指定长度,会在头部或者尾部补全。
padStart()、padEnd() 共接受两个参数,第一个参数用来指定字符串的最小长度,第二个参数是用来补全的字符串。
如果原字符串的长度,等于或大于指定的最小长度,则返回原字符串。
'xxx'.padStart(2, 'ab') // 'xxx'
'xxx'.padEnd(2, 'ab') // 'xxx'
'abc'.padStart(10, '0123456789') // '0123456abc'
如果第二个参数省略,默认用空格补全长度。
字符串模板
模板字符串,用反引号标识(`),它可以当作普通字符串,也可以定义多行字符串,或者在字符串中嵌入变量。
`In Javascript '\n' is a line-feed.`
`In Javascript this is
not legal.`
var name="Bob", time = "today";
`Hello ${name}, how are you ${time}?`
const tmpl = addrs =>`
<table>
${addrs.map(addr => `
<tr><td>${addr.first}</td></tr>
<tr><td>${addr.last}</td></tr>
`).join('')}
`
还有其他很多方法
String.raw()
模板字符串的限制
.
.
.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。