String
1.字符方法:
str.charAt()
1 2 3
| const mystr = "hallo, wesley" console.log(mystr.charAt(8))
|
ste.charCodeAt()
- 功能用法与 charAt 相同,唯一不同的是,charCodeAt 返回的是字符编码而不是字符
1 2 3
| const mystr = "hallo, wesley" console.log(mystr.charCodeAt(8))
|
2.字符串操作方法:
str.concat()
- 连接多个字符串为一个新的字符串
- 返回新得字符串,不改变原字符串
1 2 3 4
| const mystr1 = "Wesley" const mystr2 = " love" const mystr3 = " Deborah" console.log(mystr1.concat(mystr2,mystr3))
|
str.slice()
- 提取某个字符串的一部分为一个新的字符串
- 返回新的字符串,不改变原字符串
- slice() 提取的新字符串包括
beginIndex
但不包括 endIndex
str.slice(1, 4)
提取第二个字符到第四个字符(被提取字符的索引值(index)依次为 1、2,和 3)
str.slice(2, -1)
提取第三个字符到倒数第一个字符
1 2 3
| const mystr = "mynameiswesley" console.log(mystr.slice(2)) console.log(mystr.slice(2,6))
|
str.substr()
- 返回一个字符串中从指定位置开始到指定字符数的字符
- 第二个参数(
length
)可选,表示指定要截取字符串的长度
- 返回新得字符串,不改变原字符串
1 2 3
| const mystr = "mynameiswesley" console.log(mystr.substr(2)) console.log(mystr.substr(2,6))
|
str.substring()
- 返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集
- 返回新的字符串
- 如果 indexA > indexB,则 substring 的执行效果就像是两个参数调换一般。比如:str.substring(0, 1) == str.substring(1, 0)
1 2 3 4
| const mystr = "mynameiswesley" console.log(mystr.substring(2)) console.log(mystr.substring(2,6)) console.log(mystr.substring(6,2))
|
str.trim()
- 去掉字符串的前后的空白字符
- 是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR等)。
- 返回新的字符串
1 2 3
| const mystr = " mynameiswesley" console.log(mystr) console.log(mystr.trim())
|
扩展的:str.trimStart()
, 别名str.trimLeft()
str.trimEnd()
, 别名str.trimRight()
str.toLowerCase()
andstr.toUpperCase()
1 2 3
| const mystr = "Hallo Wesley" console.log(mystr.toLowerCase()) console.log(mystr.toUpperCase())
|
[es6]str.repeat()
1 2 3 4
| const mystr = "Wesley" console.log(mystr.repeat(0)) console.log(mystr.repeat(1)) console.log(mystr.repeat(3))
|
[es7]str.padEnd()
and str.padStart()
- 用一个字符串填充当前字符串(如果需要的话则重复填充)
- 返回新字符串
1 2 3
| const mystr = "Wesley" console.log(mystr.padEnd(10,".")) console.log(mystr.padStart(10))
|
3.字符串位置方法:
str.indexOf()
- 返回字符串中第一次出现的指定值的索引(是从前往后找)
- 如果没有返回-1
1 2 3
| const mystr = "WesleyLoveDeborah" console.log(mystr.indexOf("Love")) console.log(mystr.indexOf("e"))
|
str.lastIndexOf()
- 返回第一次出现指定值的索引(是从后往前找)
- 如果没找到返回-1
1 2 3
| const mystr = "WesleyLoveDeborah" console.log(mystr.lastIndexOf("Love")) console.log(mystr.lastIndexOf("e"))
|
[es6]str.includes()
[es6]str.startsWith()
[es6]str.endsWith()
描述:上面三个函数都是查找字符串中是否包含子字符串
`str.includes()` :字符串是否包含子字符串
`str.startsWith()` :字符串是否以子字符串开头
`str.endsWith()` :字符串是否以子字符串结尾
参数:第一个参数:子字符串
第二个参数:查找的起始位置
【注意:给endsWith指定第二个参数n是,它指的是前n个字符】
返回值:满足条件返回 true,否则返回 false
4.模式匹配方法:
str.match()
1 2 3 4 5
| var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; var regexp = /[A-E]/gi; var matches_array = str.match(regexp); console.log(matches_array);
|
str.search()
- 和
str.indexOf()
一模一样,除开seatch()方法可以使用正则
search()
方法会默认地把子串转化为正则表达式
str.replace()
1 2 3
| var str = 'Twas the night before Xmas...'; var newstr = str.replace(/xmas/i, 'Christmas'); console.log(newstr);
|
str.split()
- 使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| const str = 'The quick brown fox jumps over the lazy dog.';
const words = str.split(' '); console.log(words);
const chars = str.split(''); console.log(chars);
const strCopy = str.split(); console.log(strCopy);
|