字符串对象的常用方法
1.charAt()
charAt()在字符串中按下标查找对应位置的字符
//新建1个字符串str1
var str1=new String('преступление и наказание');
console.log(str1.charAt(1));//返回р str1中下标为1的字符
console.log(str1); //原字符串不变
//String {0: "п", 1: "р", 2: "е", 3: "с", 4: "т", 5: "у", 6: "п", 7: "л", 8: "е", 9: "н", 10: "и", 11: "е", 12: " ", 13: "и", 14: " ", 15: "н", 16: "а", 17: "к", 18: "а", 19: "з", 20: "а", 21: "н", 22: "и", 23: "е", length: 24, [[PrimitiveValue]]: "преступление и наказание"}
2.charCodeAt()
charCodeAt()在字符串中按下标查找对应位置字符的Unicode编码
//新建1个字符串str2
var str2=new String('Index librorum prohibitorum');
console.log(str2.charCodeAt(3));//返回101 str2中下标为3的字符e的Unicode编码
console.log(str2); //原字符串不变
//String {0: "I", 1: "n", 2: "d", 3: "e", 4: "x", 5: " ", 6: "l", 7: "i", 8: "b", 9: "r", 10: "o", 11: "r", 12: "u", 13: "m", 14: " ", 15: "p", 16: "r", 17: "o", 18: "h", 19: "i", 20: "b", 21: "i", 22: "t", 23: "o", 24: "r", 25: "u", 26: "m", length: 27, [[PrimitiveValue]]: "Index librorum prohibitorum"}
3.indexOf()
indexOf()从字符串的第一位开始查找第一个匹配目标参数,在字符串中位置的下标
//新建1个字符串str3
var str3=new String('Arthas Menethil');
console.log(str3.indexOf('a')); //返回4 从第一位开始查找到第一个'a'在字符串str3中位置的下标
console.log(str3); //原字符串不变
//String {0: "A", 1: "r", 2: "t", 3: "h", 4: "a", 5: "s", 6: " ", 7: "M", 8: "e", 9: "n", 10: "e", 11: "t", 12: "h", 13: "i", 14: "l", length: 15, [[PrimitiveValue]]: "Arthas Menethil"}
4.lastIndexOf()
lastIndexOf()从字符串的最后一位开始查找第一个匹配目标参数,在字符串中位置的下标
//新建1个字符串str4
var str4=new String('Illidan Stormrage');
console.log(str4.lastIndexOf('r')); //返回13 从最后一位开始查找到第一个'r'在字符串str4中位置的下标
console.log(str4); //原字符串不变
//String {0: "I", 1: "l", 2: "l", 3: "i", 4: "d", 5: "a", 6: "n", 7: " ", 8: "S", 9: "t", 10: "o", 11: "r", 12: "m", 13: "r", 14: "a", 15: "g", 16: "e", length: 17, [[PrimitiveValue]]: "Illidan Stormrage"}
5.match()
match()在字符串中查找匹对参数的对象,并以数组的形式返回
//新建1个字符串str5
var str5=new String('q1w2e3r');
console.log(str5.match('w'));
//查找'w'在字符串str5中的是否存在,以及所在的位置 找到后返回一个数组["w", index: 2, input: "q1w2e3r"]
console.log(str5.match('a'));
//查找不到返回 null
console.log(str5.match(/^q(\d)w(\d)e\dr$/));
//用正则表达式,先历遍整个字符串确认字符串与正则的格式相同,然后把每个括号内正则再次历遍
//返回一个数组["q1w2e3r", "1", "2", index: 0, input: "q1w2e3r"]
console.log(str5);//原字符串不变
//String {0: "q", 1: "1", 2: "w", 3: "2", 4: "e", 5: "3", 6: "r", length: 7, [[PrimitiveValue]]: "q1w2e3r"}
6.replace()
replace()字符串中查找符合第一个参数的对象,替换成第二个参数,组成一个新的字符串并返回
//新建1个字符串str6
var str6=new String('q1w2e3r');
console.log(str6.replace(/\d/g,1));//字符串中查找符合第一个参数的对象,替换成第二个参数,返回一个新的字符串 q1w1e1r
console.log(str6);//原字符串不变
//String {0: "q", 1: "1", 2: "w", 3: "2", 4: "e", 5: "3", 6: "r", length: 7, [[PrimitiveValue]]: "q1w2e3r"}
7.search()
search()查找参数在字符串中的位置并返回
//新建1个字符串str7
var str7=new String('q1w2e3r');
console.log(str7.search('w'));//查找'w'在字符串str7中的位置 返回2
console.log(str7);//原字符串不变
//String {0: "q", 1: "1", 2: "w", 3: "2", 4: "e", 5: "3", 6: "r", length: 7, [[PrimitiveValue]]: "q1w2e3r"}
8.slice()
slice()查找字符串的下标为对应参数的字符返回
//新建1个字符串str8
var str8=new String('q1w2e3r');
console.log(str8.slice(1,3));//查找字符串str8的下标为1到下标为3之前的字符串返回 1w
console.log(str8.slice(3));//查找字符串str8的下标为3到字符串最后一位的字符返回 2e3r
console.log(str8);//原字符串不变
//String {0: "q", 1: "1", 2: "w", 3: "2", 4: "e", 5: "3", 6: "r", length: 7, [[PrimitiveValue]]: "q1w2e3r"}
9.split()
split()将字符串以参数为界分割
//新建1个字符串str9
var str9=new String('q1w2e3r');
console.log(str9.split(/\d/));//将字符串以数字为界分割成["q", "w", "e", "r"]
console.log(str9.split(''));//将字符串的每个字符分割开来,分割成["q", "1", "w", "2", "e", "3", "r"]
console.log(str9);//原字符串不变
//String {0: "q", 1: "1", 2: "w", 3: "2", 4: "e", 5: "3", 6: "r", length: 7, [[PrimitiveValue]]: "q1w2e3r"}
10.substr()
substr()按参数截取字符串返回,参数为负时从后方开始截取
//新建1个字符串str10
var str10=new String('q1w2e3r');
console.log(str10.substr(1,2));//从字符串的下标为1开始截取,截取2个字符 返回1w
console.log(str10.substr(-4,2));//从字符串的倒数第4位开始截取,截取2个字符 返回2e
console.log(str10);//原字符串不变
//String {0: "q", 1: "1", 2: "w", 3: "2", 4: "e", 5: "3", 6: "r", length: 7, [[PrimitiveValue]]: "q1w2e3r"}
11.substring()
substring()按参数截取字符串返回,参数先后摆放无区别,从较小的小标开始截取
//新建1个字符串str11
var str11=new String('q1w2e3r');
console.log(str11.substring(2,4));//将字符串以下标为2开始到下标为4之前的字符截取 返回w2
console.log(str11.substring(4,2));//等同于substring(2,4) 返回w2
console.log(str11);//原字符串不变
//String {0: "q", 1: "1", 2: "w", 3: "2", 4: "e", 5: "3", 6: "r", length: 7, [[PrimitiveValue]]: "q1w2e3r"}
12.toLocaleLowerCase()和toLocaleUpperCase()
toLocaleLowerCase()和toLocaleUpperCase()分别是按地区将字符串全部转换才小写和大写
//新建1个字符串str12
var str12=new String('Преступление И Наказание');
console.log(str12.toLocaleLowerCase());//按地区将字符串全部转换成小写
console.log(str12.toLocaleUpperCase());//按地区将字符串全部转换成大写
console.log(str12);//原字符串不变
//String {0: "П", 1: "р", 2: "е", 3: "с", 4: "т", 5: "у", 6: "п", 7: "л", 8: "е", 9: "н", 10: "и", 11: "е", 12: " ", 13: "И", 14: " ", 15: "Н", 16: "а", 17: "к", 18: "а", 19: "з", 20: "а", 21: "н", 22: "и", 23: "е", length: 24, [[PrimitiveValue]]: "Преступление И Наказание"}
13.toLowerCase()和toUpperCase()
toLowerCase()和toUpperCase()分别是将字符串全部转换才小写和大写
//新建1个字符串str13
var str13=new String('Преступление И Наказание');
console.log(str13.toLowerCase());//将字符串全部转换成小写
console.log(str13.toUpperCase());//将字符串全部转换成大写
console.log(str13);//原字符串不变
//String {0: "П", 1: "р", 2: "е", 3: "с", 4: "т", 5: "у", 6: "п", 7: "л", 8: "е", 9: "н", 10: "и", 11: "е", 12: " ", 13: "И", 14: " ", 15: "Н", 16: "а", 17: "к", 18: "а", 19: "з", 20: "а", 21: "н", 22: "и", 23: "е", length: 24, [[PrimitiveValue]]: "Преступление И Наказание"}
14.toString()
toString()将对象转换为基本类型中的string类型
//新建1个字符串str14
var str14=new String('Преступление И Наказание');
var str15=str14.toString();//将str14对象转换为基本类型中的string类型
console.log(typeof str14);//原对象不变 object
console.log(typeof str15);// string