String
String是对应字符串的引用类型
1. JavaScript 字符
api |
说明 |
String.length |
字符串长度 |
String.charAt |
返回给定索引位置的16位码元,参数传整数 |
String.charCodeAt |
返回给定索引的字符编码 |
String.fromCharCode |
接受多个字符编码拼接成字符串(以上方法均基于16位码元完成,超过16位码元需要用增补平面,每个字符使用两个16位码元被称为代理对) |
String.codePointAt |
指定码元位置识别完整的码点(用来识别既含单码元又包含代理对的) |
String.fromCodePoint |
接受多个码点拼接成字符串 |
2. 字符串操作方法
api |
说明 |
String.concat |
连接字符串,不推荐,推荐使用 + |
String.slice |
截取字符串,非破坏,第一个参数表示字符串开始,第二个参数表示字符串结束(包含),省略第二个参数代表提取到字符串结束。 |
String.substr |
截取字符串,非破坏,第一个参数表示字符串开始,第二个参数表示字符串结束(包含),省略第二个参数代表提取到字符串结束。 |
String.substring |
截取字符串,非破坏,第一个参数表示字符串开始,第二个参数表示返回字符串的数量, 省略第二个参数代表提取到字符串结束 |
3. 字符串位置方法
api |
说明 |
String.indexOf |
正向查找传入的字符串,并返回位置。 第二个参数开始搜索的位置。 |
String.lastIndexOf |
正向查找传入的字符串,并返回位置。第二个参数开始搜索的位置。 |
// 查找字符串中所有“e”并拼成数组
let stringValue = "Lorem ipsum dolor sit amet consectetur adipisicing elit";
let position = new Array();
let pos = stringValue.indexOf("e");
while (pos > 1) {
position.push(pos);
pos = stringValue.indexOf("e", pos + 1);
}
console.log(position); // [3, 24, 32, 35, 52]
4. 字符串包含方法
api |
说明 |
String.startsWith |
从字符串中搜索传入的字符串,返回布尔值。搜索字符串开头。第二个参数表示开始搜索的位置 |
String.endsWith |
从字符串中搜索传入的字符串,返回布尔值。搜索字符串末尾 |
String.includes |
从字符串中搜索传入的字符串,返回布尔值。搜索整个字符串。第二个参数表示开始搜索的位置 |
5. trim() 方法
api |
说明 |
String.trim |
创建字符串副本,删除前后空格符并返回结果。 |
String.trimLeft |
字符串开始清理空格符 |
String.trimRight |
字符串末尾清理空格符 |
6. repeat() 方法
api |
说明 |
String.repeat |
复制字符串,整数参数代表复制多少次,并返回拼接后的结果 |
7. padStart() 和 padEnd() 方法
api |
说明 |
String.padStart |
小于指定长度,在字符串开始填充字符串。第一个参数为填充的长度,第二个参数为填充的内容。 |
String.padEnd |
小于指定长度,在字符串末尾填充字符串。第一个参数为填充的长度,第二个参数为填充的内容。 |
8. 字符串的迭代余结构
// 手动使用迭代器
let message = "abc";
let strIterator = message[Symbol.iterator]();
console.log(strIterator.next()); // {value:"a",done:false}
console.log(strIterator.next()); // {value:"b",done:false}
console.log(strIterator.next()); // {value:"c",done:false}
console.log(strIterator.next()); // {value:undefiend,done:true}
// 使用for of 迭代
for (const i of "abcde") {
console.log(i); // 依次打印 a,b,c,d,e
}
// 字符春解构分割成数组
let message = "abcde";
console.log([...message]); // ["a", "b", "c", "d", "e"]
9. 字符串大小写转换
api |
说明 |
String.toLowerCase |
创建字符串副本,将字符串转换为小写并返回结果。 |
String.toUpperCase |
创建字符串副本,将字符串转换为大写并返回结果。 |
String.toLocaleLowerCase |
创建字符串副本,将字符串转换为大写并返回结果。(特定区域) |
String.toLocaleUpperCase |
创建字符串副本,将字符串转换为大写并返回结果。(特定区域) |
10. 字符串模式pattern
api |
说明 |
String.match |
匹配字符串,返回匹配结果。接受一个参数可以是正则字符串或RegExp对象。只会找到第一个匹配项,返回数组。 |
String.matchAll |
匹配字符串,返回匹配结果。找到所有返回并一次返回所有结果 |
String.search |
从前向后匹配字符串,返回第一个匹配的索引。没找到返回-1 |
String.replace |
替换字符串,返回替换后的字符串。第一个参数是字符串只替换一次,如果是正则带全局标记则替换所有,第二个参数是待替换的文本,可以是字符串或函数 |
String.replaceAll |
|
String.split |
字符串分割,根据传入的分隔符拆分成数组。第一个参数分隔符可以是字符串也可以是RegExp对象,第二参数是数组大小,确保返回的数组不会超过制定 的大小 |
11. localcompare() 方法
api |
说明 |
String.localeCompare |
字符串比较,返回一个整数,返回1,0,-1表示两个字符串的相对顺序。 |