JavaScript字符串解析核心是提取信息与判断结构,涵盖按位置截取(charAt、slice、substring)、按内容查找(includes、indexOf、startsWith/endsWith)、按分隔符拆解(split)及正则匹配(match、search、replace)四类方法。

JavaScript 中字符串解析的核心在于“提取信息”和“判断结构”,而不是单纯拼接或格式化。常用方法围绕查找、截取、匹配、验证四类需求展开,选对方法能避免手动遍历或正则硬编码。
按位置提取字符或子串
适合已知结构、固定格式的文本,比如解析日期、ID片段、协议头。
-
charAt(index) 返回指定索引处的单个字符;
str[0]是等效简写,但超出范围时返回undefined(而charAt()返回空字符串) -
slice(start, end) 最推荐的截取方法:支持负数索引(如
-3表示倒数第三个),且不会因start > end报错,而是返回空字符串 -
substring(start, end) 与
slice行为接近,但会自动交换大小顺序的参数;不支持负数,负值会被当作0
按内容查找与判断存在性
用于校验、分段、条件分支,比手写循环高效且语义清晰。
Java项目代码review工具。分析Git变更+完整调用链路上下文,推断业务需求,进行多维度评分和分类汇总,生成完整PRD文档。包含细粒度Java代码审查清单(Null安全、异常处理、Streams、并发、equals/hashCode、资源管理、API设计、性能、MyBatis/ORM、事务边界、SQL/DD...
- includes(substring) 返回布尔值,判断是否含某子串,简洁直观,适合基础存在性检查
-
indexOf(substring) 返回首次出现位置(从左往右),未找到返回
-1;可传第二个参数指定起始搜索位置 -
startsWith(prefix) 和 endsWith(suffix) 分别判断开头/结尾是否匹配,常用于文件类型识别(如
filename.endsWith('.json'))或协议判断(如url.startsWith('https://'))
按分隔符拆解结构
把扁平字符串转为结构化数据,是解析 CSV、路径、查询参数等场景的基础。
立即学习“Java免费学习笔记(深入)”;
-
split(separator, limit) 将字符串按分隔符切为数组;
separator可以是字符串或正则(如'a,b,c'.split(',') → ['a','b','c']);limit控制最多切几段 - 配合解构赋值使用更自然:例如
const [host, port] = url.split(':', 2),安全提取前两段 - 注意空字符串处理:
'a,,c'.split(',')得到['a', '', 'c'],需主动过滤
用正则精准匹配与提取
当结构不固定、需提取复杂模式(如邮箱、版本号、URL 参数)时,正则方法不可替代。
-
match(regexp) 返回匹配结果数组(含捕获组),无匹配时返回
null;全局标志/g可提取全部匹配项 -
search(regexp) 类似
indexOf,但接受正则,只返回首个匹配位置(或-1) -
replace(searchValue, newValue) 不仅能替换,配合正则和函数回调可实现动态解析,例如提取并转换数字:
'price: $123.45'.replace(/(\d+\.\d+)/, (_, num) => parseFloat(num) * 1.1)

















