JS中常见的String⽅法
对于JS中的字符串(String)我们经常使⽤,今天总结了⼀下常见的String⽅法。
1. length
检测字符串的长度
let str ='abcdef';
console.log(str.length);
2. slice()
截取指定位置的字符串
参数1:开始截取的位置,下标
参数2: 选填,若不填,则截取到最后。若传⼊要截⽌的下标,则截取从开始的下标到截⽌的下标中间的部分若参数为负值,则从该字符串的末尾部分数
返回值: 为截取中的内容(前包后不包), 不会改变原字符串
let str ='abcdef';
let str1 = str.slice(1,3);
console.log(str);
console.log(str1);
let str2 = str.slice(1);
console.log(str2);
let str3 = str.slice(-3,-1);
console.log(str3);
3. substr
参数1: 开始截取字符串的下标
参数2: length长度,要截取字符的长度
若参数为负值,则从该字符串的末尾部分数
返回值: 为截取中的内容, 不会改变原字符串
let str ='abcdef';
let str1 = str.substr(1,3);
console.log(str);
console.log(str1);
let str2 = str.substr(1);
console.log(str2);
let str3 = str.substr(-3,2);
console.log(str3);
4. substring
参数1:要截取字符的开始下标
参数2:可选,要截⽌的下标,若不传则会截取到末尾
返回值: 为截取中的内容(前包后不包)跟slice⼀样, 不会改变原字符串
注意:不能传⼊负值,从字符串末尾截取
let str ='abcdef';
let str1 = str.substring(2,4);
console.log(str);
console.log(str1);
let str2 = str.substring(2);
console.log(str2)
5. split
将字符串按指定字符,把⼀个字符串分割成数组
参数1: 字符串中的字符,以这个字符为界限分割成数组
参数2:可选,若不传,则会将这个字符串按情况分割成数组,数组长度没限制。传⼊则限制数组的长度,若分割成的数组⼤于指定的长度,则多余的项会省略返回值:分割后的数组,不包括指定字符本⾝
注意:
1. 如果指定的字符串为空,则会截取字符串每个都分割开
2. 可以使⽤正则代替指定的那个字符串
let str ='abcdbef';
let str1 = str.split('b');
console.log(str1);
let str2 = str.split('b',2);
console.log(str2);
let str3 = str.split('');
console.log(str3);
6. indexOf()
检测指定字符⾸次出现的位置下标
参数1: 指定的字符
参数2:可选,从那个位置开始下标
返回值:若存在返回当前字符的下标,否则返回-1
注意对⼤⼩写敏感
let str ='abCcdecf';
let str1 = str.indexOf('c');
console.log(str1);
let str2 = str.indexOf('g');
console.log(str2);
let str3 = str.indexOf('c',3);
console.log(str3);
let str4 = str.indexOf('c');
console.log(str4);
7. lastIndexOf()
检测⼀个字符串中是否存在传⼊的字符,从该字符串的末尾查询
参数1:传⼊的指定字符
参数2:可选 传⼊指定的位置(下标),从该位置之前的字符查询
let str ='abdcdef';
console.log(str.lastIndexOf('d'));
console.log(str.lastIndexOf('d',1));
console.log(str.lastIndexOf('d',3));// 这⾥也就是从字符串(abdc)中查询字符(d)是否存在
8. replace()
将指定的字符替换成别的字符,只替换第⼀次出现的
js方法
参数1:要替换的指定字符
参数2:要替换成的字符
返回值:替换后的字符串
可以使⽤正则, 如果想替换成全部可以使⽤正则以及其中的g,若想忽略⼤⼩写则⽤i
let str ='abcdbef';
let str1 = place('b','z');
console.log(str1);
let str2 ='a1b2c3d4';
let str3 = place(/\d/g,'z');
console.log(str3)
9. charAt()
根据下标,到该下标对应的字符
参数:字符串中某个位置的数字,就是某字符在字符串的下标返回值:根据下标返回下标对应的字符
如果指定的下标的数字⼤于该字符串的长度会返回空
let str ='abcdef';
let str1 = str.charAt(2);
console.log(str1);
console.log(str)
let str2 = str.charAt(7);
console.log(str2);
10. toLowerCase()
toLowerCase 将字符串转为⼩写
返回值:该字符串的⼩写
let str ='ABcdef';
let str1 = LowerCase();
console.log(str);
console.log(str1);
11. toUpperCase()
将⼩写字符串转化为⼤写
let str ='abcdef';
let str1 = UpperCase();
console.log(str);
console.log(str1);
ES6 新增
12. for of 字符串遍历
for(let str of'abcdef'){
console.log(str);
}
13. includes(), startsWith(), endsWith()
includes() 返回值布尔型 是否在该字符串中到指定字符
startsWith() 返回值布尔型 在该字符串头部是否存在该字符
endsWith() 返回值布尔型 在该字符串尾部是否存在该字符
参数2:可选 表⽰开始搜索的位置
假若参数为n,endsWith()跟includes()和startsWith()有所不同,endsWith针对的是n前⾯的字符不包括n本⾝的字符⽽那两个则代码从n到结尾的字符串,包括n本⾝
let str ='abcdef';
console.log(str.includes('d'));
console.log(str.includes('z'));
console.log(str.startsWith('a'));
console.log(str.startsWith('b'));
console.dsWith('f'));
console.dsWith('z'));
console.log(str.includes('d',2));
console.log(str.startsWith('d',3));
console.dsWith('d',3));
console.dsWith('c',3));