如何操作字符串_javascript字符串方法有哪些?

JavaScript字符串不可变,常用方法分四类:获取信息(如length、charCodeAt)、查找提取(如indexOf、slice)、转换格式(如toLowerCase、trim)、分割替换(如split、replace)。

JavaScript 字符串是不可变的原始类型,所有字符串方法都不会修改原字符串,而是返回新字符串或相关值。掌握常用方法能高效处理文本数据。

获取字符串信息

用于查询长度、单个字符、字符编码等基础信息。

  • length:返回字符串长度(UTF-16 单位),如 "?‍?".length 得到 2(因 emoji 是代理对)
  • charAt(index):返回指定位置的字符,越界返回空字符串;str[0] 也可访问,但不兼容 IE8-
  • charCodeAt(index):返回 UTF-16 编码值;codePointAt(index) 支持 Unicode 码点(如 emoji)
  • includes(substr)startsWith(substr)endsWith(substr):返回布尔值,支持第二个参数(起始位置)

查找与提取子串

定位内容位置或截取片段,注意索引从 0 开始,且部分方法区分大小写。

  • indexOf(substr)lastIndexOf(substr):返回首次/末次出现的索引,未找到返回 -1
  • search(regex):仅支持正则,返回匹配位置,不支持全局标志 g
  • slice(start, end):支持负数索引(从末尾计),end 不包含;substring(start, end) 会自动交换大小顺序;substr(start, length) 已废弃,避免使用

转换与格式化

改变字符串外观或结构,常用于标准化输入、生成 HTML 或适配显示需求。

  • toLowerCase() / toUpperCase():按 Unicode 规则转换,比 toLocaleLowerCase() 更通用(后者考虑语言环境)
  • trim()trimStart()trimEnd():去除空白字符(包括全角空格、换行符等)
  • padStart(len, padStr) / padEnd(len, padStr):补全长度,如 "5".padStart(2, "0")"05"
  • repeat(count):重复字符串,"x".repeat(3)"xxx"

分割、连接与替换

处理结构化文本或批量修改内容,常配合数组方法使用。

  • split(separator, limit):按分隔符切分为数组,"" 表示每个字符拆开;支持正则
  • join(separator):数组方法,但常与 split 配合使用,如 str.split("").reverse().join("") 实现翻转
  • replace(searchValue, newValue):只替换第一个匹配项;用正则加 g 标志可全局替换,newValue 可为函数实现动态替换
  • replaceAll(searchValue, newValue):ES2025 新增,直接全局替换(支持字符串或正则,正则必须带 g

基本上就这些——日常开发中 90% 的字符串操作靠这四类方法就能覆盖。注意方法名大小写、参数含义和返回值类型,避免误改原字符串或忽略 Unicode 边界情况。