文章目录
- 字符串的方法
- 1 length
- 2 索引
- 3 str.at()
- 4 str.charAt()
- 5 str.concat()
- 6 str.includes()
- 7 str.indexOf() 和 str.lastIndexOf()
- 8 str.startsWith() 和 str.endsWith()
- 9 str.padStart() 和 str.padEnd()
- 10 str.replace() 和 str.replaceAll()
- 11 str.slice() 和 str.substring()
- 12 str.split() 和 str.join()
- 13 str.toLowerCase() 和 str.toUpperCase()
- 14 str.trim() 和 str.trimStart() 和 str.trimEnd()
- 15 str.search()
- 16 str.match() 和 str.matchAll()
字符串的方法
String文档
字符串其本质就是一个字符数组,所以字符串的很多方法都和数组是非常类似的
"hello" --> ["h", "e", "l", "l", "o"]
1 length
length
获取字符串的长度
let str = "hello"
str.length
2 索引
字符串[索引] 获取指定位置的字符
let str = "hello"
str[1]
3 str.at()
根据索引获取字符,可以接受负索引
let str = "hello"
console.log(str.at(0))
console.log(str.at(-1))
console.log(str.at(-2))
4 str.charAt()
根据索引获取字符
不支持负数,传入负数返回的是空串
let str = "hello"
console.log(str.charAt(0))
5 str.concat()
用来连接两个或多个字符串
不会破坏原来的字符串,会生成新字符串
和
+
效果一样,推荐使用+
let str = "hello"
console.log(str.concat(" ", "world"))
6 str.includes()
- 用来检查字符串中是否包含某个内容(字符串)
- 有返回true
- 没有返回false
- 第一个参数是要找的内容
- 第二个参数是查找的起始位置
let str = "hello hello how are you"
console.log(str.includes("hello"))
console.log(str.includes("ttt"))
console.log(str.includes("hello", 10))
7 str.indexOf() 和 str.lastIndexOf()
查询字符串中是否包含某个内容,并返回下标,如果没有的话返回-1
第二个参数是查找的起始,不传默认为0
let str = "hello hello how are you"
8 str.startsWith() 和 str.endsWith()
检查一个字符串是否以指定内容开头或者结尾的
let str = "hello hello how are you"
9 str.padStart() 和 str.padEnd()
通过在开头或者结尾添加指定的内容,使字符串保持某个长度
- 第一个参数是字符串的位数
- 第二个参数是要补的符号
如果穿进去的第一个参数比
str.length
少,则不做任何操作
str = "100"
console.log(str.padStart(7, "0"))
console.log(str.padEnd(7, "0"))
10 str.replace() 和 str.replaceAll()
使用一个新字符串替换一个指定内容
str = "hello hello how are you"
let result = str.replace("hello", "abc")
console.log(result)
str = "hello hello how are you"
result = str.replaceAll("hello", "abc")
console.log(result)
使用正则表达式替换
通过指定模式
g
可以实现全部替换
11 str.slice() 和 str.substring()
对字符串进行切片
- 第一个参数是开始位置
- 第二个参数是结束位置
- 前闭后开
substring会自动判断参数,如果第一个参数比第二个参数大,则会自动交换参数位置,slice不会
str = "hello hello how are you"
result = str.slice(12, 15)
result = str.slice(15, 12)
result = str.substring(12, 15)
result = str.substring(15, 12)
12 str.split() 和 str.join()
str.split()
:用来将一个字符串拆分为一个数组
str.join()
:用来将数组拼接为字符串
- 参数是分割的符号,也可以根据正则表达式拆分
str = "abc@bcd@efg@jqk"
result = str.split("@")
result = result.join("@"")
根据正则表达式拆分
13 str.toLowerCase() 和 str.toUpperCase()
将字符串转为大写或小写
str = "abcdABCD"
result = str.toLowerCase()
result = result.toUpperCase()
14 str.trim() 和 str.trimStart() 和 str.trimEnd()
str.trim()
:去除字符串的前后空格str.trimStart()
:去除开始空格str.trimEnd()
:去除结束空格
str = " ab c "
str.trim()
str.trimStart()
str.trimEnd()
15 str.search()
可以去搜索符合正则表达式的内容第一次在字符串中出现的位置
16 str.match() 和 str.matchAll()
str.match()
:根据正则表达式去匹配字符串中符合要求的内容str.matchAll()
:根据正则表达式去匹配字符串中符合要求的内容(必须设置g 全局匹配),返回的是一个迭代器
str.match()
可以通过设置全局模式g
来匹配所有符合的字符串,并以数组的形式返回
str.matchAll()
如果不使用全局模式的话会报错,返回的是一个迭代器,使用for-of
遍历可以打印结果