字符串常用的方法
字符串常用的方法有:通过索引找字符,通过索引找字符编码,通过字符找索引(分从前找和从后找),替换,字符串转数组,字符串截取,字符串转大小写,和正则匹配使用的
let str="大家好,我是大姐大!";
-
通过索引找字符
- charAt 通过索引查找内容
let reg = str.charAt(0); console.log(reg);//大
- charCodeAt 通过索引查找字符编码
let reg = str.charCodeAt(0); console.log(reg);//22823
- charAt 通过索引查找内容
-
通过字符找索引 找不到返回 -1
- 从前往后找
- indexOf
let reg = str.indexOf("大"); let res = str.indexOf("f"); console.log(reg);//0 console.log(res);//-1
- 从后往前找
- lastIndexOf
let reg = str.lastIndexOf("大"); console.log(reg);//8
- 从前往后找
-
字符串截取
- slice(n,m) 从索引n,截取到索引m;包前不包后;可以取负值
let reg = str.slice(0,1); console.log(reg);//大 let res = str.slice(0,-1); console.log(res);//大家好,我是大姐大
- substr(n,m) 从索引n开始,截取m个,如果一个参数,从n截取到末尾;
let reg = str.substr(1,2); console.log(reg);//家好 let str="大家好,我是大姐大!"; console.log(str.substr(0))//大家好,我是大姐大!
- substring(n,m) 从索引n,截取到索引m;包前不包后
let reg = str.substring(1,2); console.log(reg);//家
-
字符串转数组
- split(按分隔符切)
let str ="name=warm&age=18"; console.log(str.split('&'))// ["name=warm", "age=18"]
考题:将字符串'name=warm&age=18'变成一个对象, 封装一个函数
let str = "name=warm&age=18"; function str2ary(str) { //将字符串切成数组 let ary = str.split('&'); let obj = {}; //循环数组继续切 for (let i = 0; i < ary.length; i++) { let ary1 = ary[i].split('='); obj[ary1[0]] = ary1[1] } return obj; } let res = str2ary(str); console.log(res)//{name: "warm", age: "18"}
-
toUpperCase()转大写
let str="abcd"; console.log(str.toUpperCase())//ABCD
-
toLowerCase()转小写
let str="ABCD"; console.log(str.toLowerCase())//abcd
-
和正则配合的方法
- split()
- match 找到的将内容拎出来,找不到返回null
let str="abcd"; console.log(str.match("a"))//["a", index: 0, input: "abcd"] console.log(str.match("f"))//null
- replace(“”,“”) 替换
let str="我是暖暖"; let res=str.replace("暖暖","warm"); console.log(res) //我是warm
- search查找 找见了返回索引,找不见返回-1
let str="我是暖暖"; let res=str.search("暖"); let reg=str.search("不"); console.log(res) //2 console.log(reg) //-1
网友评论