为了更好的记忆和理解,特此梳理整理,方便日后查阅。
字符串常用方法:indexOf lastIndexOf concat split slice substr substring includes toLowerCase toUpperCase trim match replace charAt charCodeAt
1. indexOf: 从指定位置开始往后寻找某个子字符串在字符串中首次出现的位置 indexOf(subStr, [start])
let str = 'I love China love China'
let subStr = 'love'
let res = str.indexOf(subStr)
console.log('res', res); // 2
let res1 = str.indexOf(subStr, 1)
console.log('res1', res1); // 2
let res2 = str.indexOf(subStr, 16)
console.log('res2', res2); // -1
2. lastIndexOf: 从指定位置开始往前寻找某个子字符串在字符串中首次出现的位置 lastIndexOf(subStr, [start])
let str = 'I love China love China'
let subStr = 'love'
let res = str.lastIndexOf(subStr)
console.log('res', res); // 13
let res1 = str.lastIndexOf(subStr, 1)
console.log('res1', res1); // -1
let res2 = str.lastIndexOf(subStr, 8)
console.log('res2', res2); // 2
3. concat: 字符串拼接,返回新字符串 concat(拼接符,subStr)
let str = 'I love China'
let str1 = 'love China'
let res = str.concat('', str1)
console.log('res', res); // I love Chinalove China
let res1 = str.concat(' ', str1)
console.log('res1', res1); // I love China love China
let res2 = str.concat('&', str1)
console.log('res2', res2); // I love China&love China
console.log('str==', str); // I love China
console.log('str1==', str1); // love China
4. split: 利用分隔符将字符串切割转化为数组 split(分隔符)
let str = 'I love China& love China'
let res = str.split()
console.log('res==', res); // ['I love China& love China']
let res1 = str.split('')
console.log('res1==', res1); // ['I', ' ', 'l', 'o', 'v', 'e', ' ', 'C', 'h', 'i', 'n', 'a', '&', ' ', 'l', 'o', 'v', 'e', ' ', 'C', 'h', 'i', 'n', 'a']
let res2 = str.split(' ')
console.log('res2==', res2); // ['I', 'love', 'China&', 'love', 'China']
let res3 = str.split('&')
console.log('res3==', res3); // ['I love China', ' love China']
console.log('str==', str); // I love China& love China
5. slice: 截取字符串的某个部分,返回新字符串 slice(start[,end]) 范围:左闭右开
let str = 'I love China& love China'
let res = str.slice(3, 8)
console.log('res==', res); //ove C
console.log('str==', str); //I love China& love China
6. substr: 截取字符串的某个部分,返回新字符串 substr(start[,length])
let str = 'I love China& love China'
let res = str.substr(3, 8)
console.log('res==', res); //ove Chin
console.log('str==', str); //I love China& love China
7. substring: 截取字符串的某个部分,返回新字符串 substring(start[,end]) 范围:左闭右开
let str = 'I love China& love China'
let res = str.substring(3, 8)
console.log('res==', res); //ove C
console.log('str==', str); //I love China& love China
8. includes: 检查字符串中是否包含指定的字符串或者字符 返回布尔值
let str = 'I love China love China'
let res = str.includes('love')
console.log('res', res); // true
let res1 = str.includes('M')
console.log('res1', res1); // false
let res2 = str.includes('')
console.log('res2', res2); // true
9. toLowerCase:把字符串转换为小写
10. toUpperCase: 把字符串转化为大写
11. trim: 从一个字符串的两端删除空白字符
12. match(string|regexp): 根据正则表达式在字符串中搜索匹配项
let str = 'hello world'
// 只返回第一个匹配结果
let res = str.match('l')
console.log(res); // ['l', index: 2, input: 'hello world', groups: undefined]
console.log(typeof res); // object
console.log(Array.isArray(res)); // true
console.log(res[0]); // l
console.log(res['index']); // 2
console.log(res['input']); // hello world
// g表示全局匹配 返回所有的匹配结果
let res1 = str.match(/l/g)
console.log(res1); //['l', 'l', 'l']
// 找不到匹配返回null
let res2 = str.match('a')
console.log(res2); //null
13. replace(string|regexp, string):用指定的内容替换掉字符串中的内容, repalce(被替换的内容,要替换的内容)
let str = 'hello world'
// 只替换第一个匹配结果
let res = str.replace('l', 'S')
console.log(res); // heSlo world
console.log(str); // hello world
// g表示全局匹配 替换所有的匹配结果
let res1 = str.replace(/l/g, 'P')
console.log(res1); // hePPo worPd
console.log(str); // hello world
14.charAt(index): 返回字符串中指定索引位置的内容,若无该索引位置,返回空串
let str = 'hello world'
let res = str.charAt(3)
console.log(res); // l
let res1 = str.charAt(12)
console.log(res1); // ''
15.charCodeAt(index): 返回字符串中指定索引位置内容的unicode编码,若无该索引位置,返回NaN
let str = 'hello world'
let res = str.charCodeAt(3)
console.log(res); // 108
let res1 = str.charCodeAt(12)
console.log(res1); // NaN