自己总结了一下作为一个查询手册使用
下面两个字符串做探究,所有字符串方法均不会改变原字符串
let str = '3311字符串的方法整理1122'
let str1 = '字符串1'
indexOf(str,startIndex)
返回形参在调用者中出现位置的下标,如果不存在则返回-1,第二个参数是从的哥索引开始查找
// ①indexOf(str,startIndex)
//result==>12 '3311字符串的方法整理1122'
console.log(str.indexOf(1,5)+'\t'+str)
charAt(index)
返回指定索引位置的字符
//result==>字 3311字符串的方法整理1122
console.log(str.charAt(4)+'\t'+str)
concat(…args)
将多个字符与调用者连接合并成新字符串.!!此方法不会改变原字符串!!
//result==>3311字符串的方法整理1122字符串1 3311字符串的方法整理1122
console.log(str.concat(str1)+'\t'+str)
substring(startIndex,endIndex?)
此方法截取字符串从指定开始索引位置到指定结束索引位置,注意做左闭右开,如果不传第二个参数即截取从指定索引到字符串结束 (开始索引位置可为负数,负数代表反向从后向前的第startIndex个) !!该方法不会改变原字符串!!
//result==>字符串的方法整理1122 3311字符串的方法整理1122
console.log(str.substring(4)+'\t'+str)
//result==>字符串的方法整理
console.log(str.substring(4,12))
substr(startIndex,length)
此方法截取字符串从指定索引位置开始个数为第二个参数 (开始索引位置可为负数,负数代表反向从后向前的第startIndex个)!!该方法不会改变原字符串!!
//result==>字符串的 3311字符串的方法整理1122
console.log(str.substr(4,4)+'\t'+str)
slice(startIndex,endIndex?)
此方法截取字符串的一部分从startIndex-endIndex 左闭右开 如果第二个参数是负数,则会提取从指定位置到从后向前数结束位置的字符。如果第一个参数是负数,无输出,不会报错。 !!该方法不会改变原字符串!!
//result==>字符串的方法整理
console.log(str.slice(4,12)+'\t'+str)
replace(参数1:正则/字符串,参数2:新字符串/函数)
//result==>3391字符串的方法整理1122
console.log(str.replace('1','9'))
//result==>aaaa字符串的方法整理aaaa 可以利用g实现replaceAll的效果
console.log(str.replace(/\d/g,'a'),str)
//result==>1111字符串的方法整理1111 如果第二个参数是函数,会将函数返回值替换参数1 该函数接受四个参数(参数a:代表匹配参数1的有哪些这里的a:3,3,1,1,1,1,2,2 参数b:代表参数a的那些下标 参数c:代表调用者本身这里就是str)
console.log(str.replace(/\d/g,(a,b,c)=>1))
replaceAll()
不做过多介绍了同replace,唯一不同是,replaceAll会直接替换所有匹配项 !!该方法不会改变原字符串!!
split(str,num?)
使用指定的分隔符字符串将一个 Str 对象分割成子字符串数组,第二个参数决定保留几个 !!该方法不会改变原字符串!!
//result==> ['3', '3', '1', '1', '字', '符', '串', '的', '方', '法', '整', '理', '1', '1', '2', '2']
console.log(str.split(''))
//result==>['3', '3']
console.log(str.split('',2),str)
trim()
去除空字符串两端白字符,中间空格不能去除,想要去除所有空格可以通过上面的replace方法,\s正则中表空白字符
//result==>a a a
let trimStr = ' a a a '
console.log(trimStr.trim())
//result==>aaa
console.log(trimStr.replace(/\s/g,''))
match(str)
返回结果1会返回一个数组,数组包含字符串匹配正则表达式的结果信息。返回结果2如果全局匹配,则会将匹配的结果作为数组返回
//result==>['字符串', index: 4, input: '3311字符串的方法整理1122', groups: undefined] index指的是匹配成功开始位置的索引, Input 属性包含整个的被查找字符串 groups:一个捕获组数组或者 undefined(如果没有定义命名捕获组)
console.log(str.match('字符串'))
//result==> ['3', '3', '1', '1', '1', '1', '2', '2']
console.log(str.match(/\d/g))```