【重走JavaScript之高级程序设计】字符串String

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表示两个字符串的相对顺序。
posted @   wanglei1900  阅读(9)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示