常用的字符串方法
这里说的所有方法都不会改变原字符串,都是对其进行操作后返回新的的字符串,注意和数组的方法进行区分。
与查询相关
查询字符串长度
- length属性
查询目标值的下标
-
indexOf(targetStr,start)
从起始位位置start开始向右开始检索
-
lastindexOf(targetStr,start)
从起始位位置start开始向左开始检索
-
search(targetStr)
支持正则
可以使用正则表达式进行检索,返回第一次出现的位置 与前者indexOf(tragetStr,start)相似,但是不支持第二个起始参数。
查询下标对应的值
-
charAt(index)
返回对应下标的字符
-
charCodeAt(index)
返回对应下标的字符的Unicode编码
与修改相关
-
trim()
去除两端的空白 不会修改原字符串
-
trimStart()
ES6
去除前端的空白 不会修改原字符串
-
trimEnd()
ES6
去除后端的空白 不会修改原字符串
这三个方法对字符串头部(或尾部)的 空格键、tab 键、换行符等不可见的空白符号也有效。
-
replace(targetStr,newStr)
支持正则
用参数二中的字符串替换目标字符串,只能替换一次,但是使用正则表达式:/正则/g 可以实现全局替换 不会改变原字符串
使用正则表表达式可以实现全局替换
-
replaceAll()
支持正则
ES6
全局替换字符串 支持正则,使用正则的时候必须是全局匹配,否则会报错 不会改变原字符串
与转换相关
-
toUpperCase()
将所有英文字符转换成大写字母 不会改变原字符串
-
toLowerCase()
将所有英文字符转换成小写字母 不会改变原字符串
-
split()
用指定的字符进行分割字符串,并将其存储到数组当中,返回一个数组 不会改变原字符串
与提取相关
-
slice(start,end)
支持负数,最右边为-1往左依次类推(即使是负数也遵循左闭右开的区间原则) 当参数第一个数为负数的时候想要截取到末尾最后一个字符的时候则无须填写第二个参数。 不会改变原字符串
-
substring(start,end)
和slice(start,end)方法类似,区别在于substring不支持负数的形式
-
substr(start,length)
和substring(start,end)方法类似区别在于第二个参数代表的是截取的长度 不会改变原字符串
与拼接有关
-
concat(target,…)
-
padStart(lastLength,padStr)
ES6
补充前缀 第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串 不会改变原字符串
-
padEnd(lastLength,padStr)
ES6
补充后缀 第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串 不会改变原字符串
这里是引用阮一峰ES6,常见用途