总结一下字符串中使用频率较高的字符串方法,便于今后使用时查询
1.获取字符串的长度
let str = "asdfghjkloitesdasaweadsdaaeqa",
newStr = '',
len = 0;
len = str.length;
console.log(len);//29
2.获取指定索引位置的字符
let str = "asdfghjkloitesdasaweadsdaaeqa",
newStr = '',
len = 0;
newStr = str.charAt(5);
console.log(newStr);//h
3.获取指定索引位置字符的unicode编码
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.charCodeAt(5));//104
4.获取指定unicode编码对应的字符,该方法是字符串String的静态方法
console.log(String.fromCharCode(104));//h
5.获取当前字符串中第一次出现的字符,如果查找不到返回-1,参数1 指定的字符 参数2 【可选】 从哪个位置开始
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.indexOf('h',0));//5
console.log(str.indexOf('h',6));//-1
6.从后面开始查询,获取指定字符第一次出现的位置 参数1 指定的字符 参数2 【可选】 从哪个位置开始
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.lastIndexOf("a"));//28
7.获取字符串中介于两个指定下标之间的字符 参1 起始索引 参数2 结束索引 参数位置可互换 选择的区域为[) 返回新串。如果第二个参数不写,默认选中到字符串末尾。如果查找不到,返回空字符串。
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.substring(2,6)); //dfgh
console.log(str.substring(6,2)); //dfgh
8.获取字符串中指定位置开始的 n个字符 参数 1 起始索引 参数2 个数。如果第二个参数不传,默认选中到字符串结束。如果查找不到返回空串。
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.substr(2,6)); //dfghjk
9.获取字符串中介于两个指定下标之间的字符 参1 起始索引 参2 结束索引 参数位置不可互换 选择的区域为[) 返回新串,可以传入负值,底层会用字符串长度进行调整,然后再截取。如果查找不到,返回空串。
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.slice(2,6));//dfgh
10.字符串的大小写转换
let str = "Asdfghjkloitesdasaweadsdaaeqa";
console.log(str.toLowerCase());//asdfghjkloitesdasaweadsdaaeqa
console.log(str.toUpperCase());//ASDFGHJKLOITESDASAWEADSDAAEQA
11.字符串转换为数组 参数1 separate 参数2 【可选】howmany 返回的个数 默认全部返回
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.split());//["asdfghjkloitesdasaweadsdaaeqa"]
console.log(str.split(""));//["a", "s", "d", "f", "g", "h", "j", "k", "l", "o", "i", "t", "e", "s", "d", "a", "s", "a", "w", "e", "a", "d", "s", "d", "a", "a", "e", "q", "a"]
console.log(str.split("",3));//["a", "s", "d"]
12.去除字符串两端的空格,字符串中间的空格不删除
let str = ' adfg bbk ';
console.log(str.trim());//adfg bbk
13.检索一个字符 检索到就停止 如果找到返回一个数组,检索不到返回null
let str = "asdfghjkloitesdasaweadsdaaeqa",
newStr = '';
console.log(str.match('A'));//null
console.log(str.match('s'));//["s", index: 1, input: "asdfghjkloitesdasaweadsdaaeqa", groups: undefined]
newStr = str.match("s");
console.log(newStr.length);//1
14.返回指定字符第一次出现的索引值
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.search("a"));//0
15.字符串替换 只替换第一次出现的指定字符 如果全部替换需要使用正则(参1 旧字符 参2 新字符)
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.replace('a','B'));//Bsdfghjkloitesdasaweadsdaaeqa
16.判断字符串是否以指定的字符开头或结尾以及是否包含指定的字符 返回布尔值
let str = "asdfghjkloitesdasaweadsdaaeqa";
console.log(str.startsWith("a"));//true
console.log(str.startsWith('b'));//false
console.log(str.endsWith("a"));//true
console.log(str.endsWith("b"));//false
console.log(str.includes("h"));//true
console.log(str.includes("A"));//false
17.重复指定的遍数,返回一个新串
str = 'Aasdf-'
newStr = str.repeat(2);
console.log(newStr);//Aasdf-Aasdf-
18.字符串补全 padStart() padEnd() 参数1 补全后的长度,要大于原始长度 参2 要补全的字符
str = 'asdfgqwe'
console.log(str.padStart(20,'A'));//AAAAAAAAAAAAasdfgqwe
console.log(str.padEnd(20,'A'));//asdfgqweAAAAAAAAAAAA