Skip to content

JavaScript 字符串方法

增加方法

shell
+
${}
concat()

删除方法(借助截取)

shell
slice(起始索引,结束索引);                                第二个参数可为负数,可不设置
substring(起始索引,结束索引);                            类似 slice,但不接受负数
substr(起始索引,长度);                                  第二个参数可不设置

修改方法

shell
replace(目标值, 替换值)、replaceAll(目标值, 替换值)         单个/全局替换
trim()、trimLeft()、trimRight()                         去除两端空格
toUpperCase() toLowerCase()                            英文大小写转化  
padStart(长度, 填充字符)、padEnd(长度, 填充字符)            前后填充补位
split(字符串, 数组长度限制)                               字符串分割为数组
repeat(重复数)                                          重复追加当前字符串

查询方法

shell
length                                                 返回字符串长度
charAt(索引)                                           返回指定位置的字符,没找到则返空字符串
indexOf(字符,开始索引)                                   返回子字符串首次出现的位置,没找到则返 -1
lastIndexOf(字符,开始索引)                               返回子字符串最后一次出现的位置,没找到则 -1
includes(字符,开始索引) ES6                              判断是否包含子字符串
startsWith(字符,开始索引) ES6                            判断是否以某子字符串开头
endsWith(字符,开始索引) ES6                              判断是否以某子字符串结尾

正则表达式匹配方法

性能不高,优势是方便

shell
str.match(regexp)                                      查找元素,查不到返回 null,查到返回对象
str.search(regexp)                                     查找元素,查不到返回 -1,查到返回索引

注意

对字符串的所有操作都是新创建一个新的字符串副本,不影响原字符串


字符串常用方法

字符串的常用方法可以归纳为:增、删、改、查

新增

shell
+ 运算符:最常用的字符串拼接方式。
concat():方法拼接。
模板字符串(` `):ES6 引入,支持嵌入变量和表达式。

删除

shell
slice() / substring():提取想要的,剩下的就是“删掉”的。
replace():将想要删除的内容替换为空字符串 ''

修改

shell
# 截取/提取
slice(beginIndex, endIndex):提取子字符串(推荐使用,支持负数)。
substring(beginIndex, endIndex):类似 slice,但将负数视为 0。
substr(beginIndex, length):已废弃,不建议使用。

# 替换
replace(searchValue, newValue):替换第一个匹配项(支持正则)。
replaceAll(searchValue, newValue):替换所有匹配项(ES2021 引入,searchValue 为字符串时不会自动转义为正则)。

# 大小写转换
toUpperCase():全部转为大写。
toLowerCase():全部转为小写。

# 填充/修饰
trim():去除首尾空白。
trimStart() / trimLeft():去除开头空白。
trimEnd() / trimRight():去除结尾空白。
padStart(targetLength, padString):从开头填充至指定长度。
padEnd(targetLength, padString):从结尾填充至指定长度。
repeat(count):返回一个新字符串,表示将原字符串重复 count 次

# 拆分成数组
split(separator, limit):根据分隔符将字符串拆分成数组。

查询

shell
# 查位置
indexOf(searchValue, fromIndex):查找指定内容第一次出现的索引,找不到返回 -1。
lastIndexOf(searchValue, fromIndex):从后往前查找,返回最后一次出现的索引。

# 查是否存在
includes(searchString, position):判断是否包含指定字符串,返回布尔值(ES6 引入)。
startsWith(searchString, position):判断是否以指定字符串开头。
endsWith(searchString, length):判断是否以指定字符串结尾。

# 查字符
charAt(index):返回指定位置的字符。
charCodeAt(index):返回指定位置字符的 Unicode 编码。
at(index):返回指定位置的字符(ES2022 引入,支持负索引,例如 at(-1) 获取最后一个字符)。

# 正则匹配查询
match(regexp):根据正则表达式匹配,返回数组或 null。
search(regexp):根据正则表达式查找,返回第一个匹配的索引,找不到返回 -1。