常见的字符串方法
- charAt() 返回指定索引位置的字符
let str = "luyao";
console.log(str.charAt(1)); //u
console.log(str.charAt(2)); //y
- charCodeAt() 返回指定索引位置字符的 Unicode 值
let str = "luyao";
console.log(str.charCodeAt(1)); //117
console.log(str.charCodeAt(2)); //121
- concat() 连接两个或多个字符串,返回连接后的字符串
let str = "luyao";
let str1 = "love";
let arr = [1,2,2];
let obj = { name: "jack" };
console.log(str.concat('123')); //luyao123
console.log(str.concat(str1)); //luyaolove
console.log(str.concat(arr)); //luyao1,2,2
console.log(str.concat(obj)); //luyao[object object]
- fromCharCode() 将 Unicode 转换为字符串;String的静态方法
console.log(String.fromCharCode(65, 66, 67)); //ABC
- indexOf() 返回字符串中检索指定字符第一次出现的位置
let str = "luyao";
console.log(str.indexOf('l')); //0
console.log(str.indexOf('L')); //-1
- lastIndexOf() 返回字符串中检索指定字符最后一次出现的位置
let str = "luyaol"
console.log(str.lastIndexOf('l')); //5
console.log(str.lastIndexOf(' L')); //-1
- localeCompare() 用本地特定的顺序来比较两个字符串
let str = "luyao";
console.log(str.localeCompare('lav')); //1;不匹配,参数值来自于语言环境的排序顺序字符串对象的值之前
console.log(str.localeCompare('luyao')); //0;字符串匹配100%
console.log(str.localeCompare('uyaol')); //-1;不匹配,参数值来自于语言环境的排序顺序字符串对象的值之后
- match() 找到一个或多个正则表达式的匹配
let str = "luyao1";
console.log(str.match('lu')); //[ 'lu', index: 0, input: 'luyao1', groups: undefined ]
console.log(str.match('Lu')); //null
console.log(str.match((/\d+/g))); //[ '1' ]
console.log(str.match((/\d+/g))[0]); //1
- replace() 替换与正则表达式匹配的子串
let str = 'luyaoluyao';
console.log(str.replace(/l/g, "0")); //0uyao0uyao
- search() 检索与正则表达式相匹配的值 (检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。)
let str = 'luyaoluyao';
console.log(str.search("l")); //0
console.log(str.search(/o/)); //4
- slice(起始位置,结束位置) 提取字符串的片断,并在新的字符串中返回被提取的部分
let str = 'luyaoluyao';
console.log(str.slice(1, 4)); //uya(不包含结束位置的字符串)
console.log(str.slice(2, 1)); //空字符串,(起始位置不能大于结束位置,否则返回一个空字符串)
console.log(str.slice()); //如果两个参数都没有的话,返回整个字符串。
- split(separator,limit) 把字符串按分隔符分割成数组。separator:分隔符;limit:分割后数组的长度
let str = "luyao";
console.log(str.split('')); //[ 'l', 'u', 'y', 'a', 'o' ]
console.log(str.split('', 2)); //[ 'l', 'u' ]
- substring(indexStart,indexEnd) 截取字符串。
indexStart:起始位置。
indexEnd:结束位置,没有的话默认为最后一个字符的位置,不包含这个参数对应的字符。
如果两个参数都没有,返回整个字符串。
let str = "luyao";
let a = str.substring(1);
console.log(a); //uyao
let b = str.substring(1, 3);
console.log(b); //uy
❗ substring()和slice()的区别
① slice的参数可以为负数,slice的起始位置是不能大于结束位置的。
② substring的参数必需为正数,substring的起始位置可以大于结束位置,它会自动把两个位置调换。
- substr(start,length) 从起始索引号提取字符串中指定数目的字符(截取指定起始位置和长度的字符串。)
start:起始位置。
length:截取的字符串长度(从指定的下标开始截取多少个字符),没有的话默认为起始位置到最后一个字符的长度。
let str = "luyao";
let a = str.substr(1, 3);
console.log(a); //uya
let b = str.substr(1);
console.log(b); //uyao
- toLowerCase() 把字符串转成全小写。
- toUpperCase() 把字符串转成全大写。
let str = "luyao";
let a = str.toUpperCase();
console.log(a); //LUYAO
let b = a.toLowerCase();
console.log(b); //luyao
- trim() 去首尾空字符串
let str = " lu yao ";
let a = str.trim();
console.log(a, a.length); //luyao 7