JS基础-字符串的拆分、截取、查找汇总
这是我的学习笔记,学的时候记录,后续方便查找复习。
一、拆分
1. split
split 将字符串拆分成数组。
参数:
1.需要一个字符串作为参数,将会根据该字符串去拆分数组;
如果传递的是一个空字符串,则会将每一个字符都拆分成数组中的一个元素。
var str = "abc_de_fghi_jk";
var result = str.split("_");
console.log(result); // ["abc", "de", "fghi", "jk"]
console.log(typeof result); // object
console.log(Array.isArray(result)); // true
console.log(result[1]); // de
console.log(result.length); // 4
// 传空 则拆分每一个字符
var result2 = str.split("");
console.log(result2); // ["a", "b", "c", "_", "d", "e", "_", "f", "g", "h", "i", "_", "j", "k"]
二、截取
1. slice
slice 可以从字符串中截取指定的内容,且不影响原字符串。
参数:
1.开始位置的索引(包括开始位置);
2.结束位置的索引(不包括结束位置);
如果省略第二个参数,则会截取到后边所有的;
也可以用一个负数作为参数,-1 -> 倒数第一个。
var str = 'abcdefghjk';
var result = str.slice(2, 4);
console.log(result); // cd
var result2 = str.slice(1, -1);
console.log(result2); // bcdefghj
2. substring
substring 可以从字符串中截取指定的内容,且不影响原字符串。与slice类似。
参数:
1.开始位置的索引(包括开始位置);
2.结束位置的索引(不包括结束位置);
区别:
不同于slice的是,substring 不能接受负值作为参数,如果用了负值则默认使用0,
且substring可以自动调参数的位置,如果第二个参数小于第一个,则自动交换。
var str = 'abcdefghjk';
var result3 = str.substring(0, 1);
console.log(result3) // a
var result1 = str.substring(1, -1); // 负数 = 0
console.log(result1); // a
var result2 = str.substring(1, 0); // 自动交换
console.log(result2); // a
3. substr
substr 用来截取字符串,且不影响原字符串。
参数:
1.开始位置的索引(包括开始位置);
2.截取的长度;
区别:
不同于前两个的是,第二个参数是截取字符串的长度。
var str = 'abcdefghjk';
var result = str.substr(1, 4);
console.log(result); // bcde
三、连接
1. concat
concat 用来键连接两个或者多个字符串,作用和+一样,且不影响原字符串。
var str = "世界";
var result = str.concat("和平", "!");
console.log(result); // 世界和平!
四、根据字符查找
1. indexOf
indexOf 可以检索一个字符串中是否含有指定内容。
参数:
1.传入要索引的字符串;
2.可以指定第二个参数,指定开始查找的位置。
返回值:
若果字符串中含有该索引的内容,则返回其第一次出现的索引;
若没有找到,则返回-1。
var str = "hsaofjhdaf";
var result = str.indexOf("a");
console.log(result); // 2
var result = str.indexOf("a", 3); // 指定开始查找位置
console.log(result); // 8
var result = str.indexOf("p");
console.log(result); // -1
2. lastIndexOf
lastIndexOf 和 indexOf 用法一样,不同的是,lastIndexOf是从后往前找。
参数:
1.传入要索引的字符串;
2.可以指定第二个参数,指定开始查找的位置。
返回值:
若果字符串中含有该索引的内容,则返回其第一次出现的索引;
若没有找到,则返回-1。
var str = "hsaofjhdaf";
var result = str.lastIndexOf("a");
console.log(result); // 8
var result = str.lastIndexOf("a", 5);
console.log(result); // 2 5 -> 从中间那个f开始从后往前找,找到a后返回a的索引2
var result = str.lastIndexOf("p");
console.log(result); // -1
五、根据索引查找
1. charAt
charAt 根据传入的索引找到字符串中指定的字符。
参数:
传入要查找的索引。
var str = "hsaofjhdaf";
var result = str.charAt(5);
console.log(result); // j
2. charCodeAt
charCodeAt 根据传入的索引找到字符串中指定的字符的字符编码(Unicode编码)。
参数:
传入要查找的索引。
var str = "hsaofjhdaf";
var result = str.charCodeAt(5);
console.log(result); // 106
3. fromCharCode
fromCharCode 根据传入的字符编码获取字符(Unicode编码)。
参数:
传入字符编码(Unicode编码)。
var result = String.fromCharCode(106); // 用构造函数的对象调用fromCharCode()
console.log(result); // j
持续更新
这里只是字符串的相关方法的基础认识与了解,后面若有相关的继续更新。