当前位置: 首页 > news >正文

EasyClick JavaScript 字符串进阶

EasyClick JavaScript 字符串进阶

在 JavaScript 中,字符串是最常用的数据类型之一。以下是 JavaScript 字符串的常用方法,涵盖了字符串操作的各种场景。

基本查询方法

length- 获取字符串长度

const str = "Hello, World!";
console.log(str.length); // 13

charAt()- 获取指定位置的字符

console.log(str.charAt(0)); // "H"
console.log(str.charAt(7)); // "W"

charCodeAt()- 获取字符的 Unicode 编码

console.log(str.charCodeAt(0)); // 72 (H 的 Unicode)

indexOf()- 查找子字符串首次出现的位置

console.log(str.indexOf("World")); // 7
console.log(str.indexOf("world")); // -1 (区分大小写)

lastIndexOf()- 查找子字符串最后一次出现的位置

const text = "Hello, World! Hello!";
console.log(text.lastIndexOf("Hello")); // 14

includes()- 检查是否包含子字符串

console.log(str.includes("World")); // true
console.log(str.includes("world")); // false

startsWith()- 检查是否以指定字符串开头

console.log(str.startsWith("Hello")); // true
console.log(str.startsWith("hello")); // false

endsWith()- 检查是否以指定字符串结尾

console.log(str.endsWith("!")); // true
console.log(str.endsWith("World")); // false

字符串操作方法

concat()- 连接字符串

const str1 = "Hello";
const str2 = "World";
console.log(str1.concat(", ", str2, "!")); // "Hello, World!"

slice()- 提取子字符串

console.log(str.slice(0, 5)); // "Hello" (0到5,不包括5)
console.log(str.slice(7)); // "World!" (从7到结尾)
console.log(str.slice(-6)); // "World!" (从末尾开始)

substring()- 提取子字符串(类似 slice)

console.log(str.substr(7, 5)); // "World" (从7开始,取5个字符)

split()- 分割字符串为数组

const words = str.split(", ");
console.log(words); // ["Hello", "World!"]const chars = str.split("");
console.log(chars); // ["H", "e", "l", "l", "o", ",", " ", "W", "o", "r", "l", "d", "!"]

repeat()- 重复字符串

console.log("abc".repeat(3)); // "abcabcabc"

字符串修改方法

toLowerCase()- 转换为小写

console.log(str.toLowerCase()); // "hello, world!"

toUpperCase()- 转换为大写

console.log(str.toUpperCase()); // "HELLO, WORLD!"

trim()- 去除两端空白

const spaced = "   Hello, World!   ";
console.log(spaced.trim()); // "Hello, World!"

trimStart()/ trimLeft()- 去除开头空白

console.log(spaced.trimStart()); // "Hello, World!   "

trimEnd()/ trimRight()- 去除结尾空白

console.log(spaced.trimEnd()); // "   Hello, World!"

replace()- 替换字符串

console.log(str.replace("World", "JavaScript")); // "Hello, JavaScript!"

replaceAll()- 替换所有匹配项

const text = "apple, banana, apple";
console.log(text.replaceAll("apple", "orange")); // "orange, banana, orange"

正则表达式相关方法

match()- 匹配正则表达式

const email = "user@example.com";
const matchResult = email.match(/[a-z]+@[a-z]+\.[a-z]{2,3}/);
console.log(matchResult); // ["user@example.com"]

matchAll()- 匹配所有结果

const text = "test1 test2 test3";
const matches = [...text.matchAll(/test(\d)/g)];
console.log(matches);
// [
//   ["test1", "1"],
//   ["test2", "2"],
//   ["test3", "3"]
// ]

search()- 搜索匹配位置

console.log(str.search("World")); // 7
console.log(str.search(/world/i)); // 7 (不区分大小写)
http://www.dtcms.com/a/392892.html

相关文章:

  • 小明打砖块-算法
  • 【Open3D】在Conda环境下安装Open3D | Anaconda | VSCode
  • AWS 的存储方案全对比:EBS、S3、EFS 用在哪?
  • 【实证分析】上市公司债务违约风险KMV模型及违约距离(2000-2023年)
  • 【牛客网】dd爱科学 最长非递减子序列 二分查找
  • vmware安装uos v20无法识别网卡
  • 力扣hot100 | 动态规划1 | 70. 爬楼梯、118. 杨辉三角、198. 打家劫舍、279. 完全平方数、322. 零钱兑换
  • 每天五分钟深度学习:softmax回归的交叉熵损失的前向传播
  • leetcode算法刷题的第四十天
  • 算法基础篇(3)高精度
  • Java Log
  • 最常见的MCP服务
  • 如何安装tomcat服务器以及如何解决服务器的乱码问题
  • 软考中级习题与解答——第九章_信息安全(1)
  • 小迪安全v2023学习笔记(八十五讲)—— APP攻防反证书反代理反模拟器绕过XP框架
  • Oracle VM 设置CentOS7网络
  • lua代码解析1
  • C++特性之构造函数,析构函数和虚析构函数
  • 走进Linux的世界:gdb的使用
  • SCADE One vs Scade 6 - CNN池化层建模对比
  • uniapp | u-waterfall实现瀑布流商品列表(支持筛选查询)
  • C++优选算法精选100道编程题(附有图解和源码)
  • 五分钟系列-nm工具
  • 【龙泽科技】新能源汽车空调系统结构原理仿真教学软件
  • 设计一个图片上传服务,支持每秒5000张图片上传,并且要实时生成多种尺寸的缩略图。你觉得架构设计的要点有哪些?
  • NLP:Transformer优势详解
  • 基于SpringBoot+Vue的民宿管理系统(WebSocket及时通讯、腾讯地图API、支付宝沙盒支付、ECharts图形化分析)
  • Git版本管理工具入门及常用命令讲解---小白版
  • 芯脉:面向高速接口的SoC架构与完整性设计<2-2>
  • Go基础:Go语言流程控制详解