字符串常用方法
-
获取字符串长度
str.length
:返回字符串长度-
格式:
let str = "cbcdef"; console.log(str.length); //打印 6
-
字符串索引
str.charAt(下标)
:输出字符串中该下标的字符-
格式:
let str = "cbcdef"; // console.log(str[5]); //高级浏览器才支持str[] console.log(str.charAt(5)); //打印 f
-
寻找字符串字符位置
str.indexOf(字符)
:从前往后寻找字符返回位置,找不到返回-1str.lastIndexOf(字符)
:从后往前寻找字符返回位置,找不到返回-1-
格式:
let str = "cbcdef"; console.log(str.indexOf("c")); //打印 0 console.log(str.lastIndexOf("c")); //打印 2
-
判断字符串是否包含某个字符
str.includes(字符)
:判断字符串中是否包含某个字符,返回true或false-
格式:
let str = "cbcdef"; //是否包含某个元素 console.log(str.includes("p")); //打印 false
-
字符串拼接
str1.concat(str2)
:将字符串2拼接到字符串1后str1 + str2
:将字符串2拼接到字符串1后-
格式:
let str1 = "nhw"; let str2 = "123"; // let str3 = str1.concat(str2); let str3 = str1 + str2; //推荐使用 console.log(str3); //打印 nhw123
-
截取子串
-
slice(起始位置,结束位置)
:截取子串但不包括结束位置(用于数组)-
注意:
- 若出现负数,则从字符串结束位置算
- 若省略第二个参数则从开始位置截取到末尾
-
格式:
let str = "cbcdef"; let subStr = str.slice(1, 3); console.log(subStr); //打印 bc
-
-
substring(起始位置,结束位置)
:截取子串但不包括结束位置-
注意:
- 若出现负数,将所有的负参数转化为0
- 若起始位置>结束位置,则选小的作为起始位置
- 若省略第二个参数则从开始位置截取到末尾
-
格式:
let str = "cbcdef"; let subStr = str.substring(3, -1); console.log(subStr); //打印 cbc
-
-
substr(起始位置,截取个数)
-
注意:
- 第二个参数不接受负数,否则返回空
- 若省略第二个参数则从开始位置截取到末尾
-
格式:
let str = "cbcdef"; let subStr = str.substr(-3, 2); console.log(subStr); //打印 de
-
-
字符串切割(将字符串转变为数组)
str.split(分隔符)
:将字符串以分隔符切断转换为数组-
格式:
let str = "1-3-5"; let arr = str.split("-"); console.log(arr); //打印Array(3)
-
判断是否以指定字符串开头
str.startsWith(子串)
:判断是否以指定字符串开头,返回true或false-
格式:
let str = "nhw123"; let result = str.startsWith("nhw"); console.log(result); //打印 true
-
判断是否以指定字符串结尾
str.endsWith(子串)
:判断是否以指定字符串结尾,返回true或false-
格式:
let str = "nhw123"; let result = str.endsWith("123"); console.log(result); //打印 false
-
字符串模板(ES6)
注意:解决了字符串拼接时用+的冗余性
-
格式:用反引号将字符串
let name = "nhw"; let age = 18; //let str = "我是" + name + ",我的年龄是" + age; let str = `我是${name},我的年龄是${age}`; console.log(str); //打印 我是nhw,我的年龄是18
// let str = "<ul>\n" + // " <li>我是第1个li</li>\n" + // " <li>我是第2个li</li>\n" + // " <li>我是第3个li</li>\n" + // "</ul>" let str = `<ul> <li>我是第1个li</li> <li>我是第2个li</li> <li>我是第3个li</li> </ul>` console.log(typeof str); // 打印 string
-
字符串替换
str.replace(需要替换的字符/正则表达式,替换的字符)
:用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串-
格式:
let str = "abcd"; let newStr = str.replace("a", "b"); console.log(newStr); //打印 bbcd