javascript字符串不可变,高频操作包括:查(includes、indexof、startswith/endswith)、取(slice、charat、charcodeat)、改(trim、大小写转换、replace)、分(split)。
javascript 中 string 类型不可变,所有操作都返回新字符串,原值始终不变。掌握几类高频技巧,就能覆盖绝大多数文本处理场景。
查:快速判断与定位
用 includes() 做存在性判断最直观,比如校验邮箱是否含 "@";indexOf() 返回首次匹配索引,找不到时为 -1,适合需要位置信息的场景;startsWith() 和 endsWith() 支持第二个参数限制检查长度,例如 "file.txt".endsWith(".txt", 8) 可在截断前判断扩展名。
- 区分大小写:所有方法默认区分,如需忽略,先转统一大小写再查
- 查找全部位置:用循环调用
indexOf(str, lastPos + 1)累积索引 - 正则增强:复杂模式用
match()或search(),如str.match(/\d+/g)提取所有数字
取:灵活截取与访问字符
slice() 是首选,支持负数索引(-1 表示末尾字符),且不会因 start > end 报错,只返回空串;charAt() 比 str[0] 更健壮,越界时返回空字符串而非 undefined,兼容旧浏览器;charCodeAt() 可用于识别字符类型,比如判断首字符是否为字母(编码在 65–90 或 97–122 区间)。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- 取最后 n 个字符:
str.slice(-n) - 取倒数第 n 到倒数第 m 位(不含):
str.slice(-n, -m) - 安全取首字符:
str.charAt(0) || ""避免空字符串报错
改:格式转换与内容替换
trim() 是表单处理必用项,去除首尾空格;toLowerCase() 和 toUpperCase() 常用于标准化比较或 API 请求头;replace() 默认只换第一个匹配项,全局替换必须用正则加 g 标志,如 str.replace(/ /g, "_");拼接推荐模板字符串,比 concat() 或 + 更易读、支持表达式。
- 去所有空白符(含换行、制表):
str.replace(/\s/g, "") - 批量替换多个词:
str.replace(/old|bad|wrong/g, "good") - 保留原格式大小写替换:
str.replace(/hello/gi, match => match.toUpperCase())
分:拆解结构化处理
split() 是把字符串变数组的关键入口。按逗号分割 CSV 数据、按空格或正则 /\s+/ 分词、用 split('') 拆成字符数组后可链式调用数组方法(如反转:[...str].reverse().join(''));配合 join() 可轻松重组,比如用竖线连接标签:tags.split(',').map(s => s.trim()).join(" | ")。
- 安全分割(防空项):
str.split(',').map(s => s.trim()).filter(Boolean) - 按多字符分隔符拆分:
str.split(/;\s*/)处理带空格的分号分隔 - 提取特定内容:
str.match(/"(.*?)"/g)取所有双引号包裹的字符串
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










