split()是JavaScript中将字符串按分隔符拆分为数组的方法,不修改原字符串;支持字符串/正则分隔、limit限制长度,需注意空项、边界情况及类型安全。

JavaScript中,split() 是将字符串按指定分隔符拆分为数组最常用的方法。它不修改原字符串,而是返回一个新数组,使用简单但细节决定效果。
基础用法:按字符或字符串分割
调用 str.split(separator),其中 separator 可以是字符串或正则表达式。若 separator 为空字符串(''),则每个字符都成为数组一项;若为 undefined 或空参数,则整个字符串作为唯一元素返回一个长度为1的数组。
-
"a,b,c".split(",")→["a", "b", "c"] -
"hello".split("")→["h", "e", "l", "l", "o"] -
"test".split()→["test"]
进阶技巧:用正则表达式灵活切分
当分隔逻辑较复杂(如多个空格、混合标点、忽略大小写等),正则表达式比固定字符串更可靠。
-
"one, two;three".split(/[,;\s]+/)→["one", "two", "three"](匹配逗号、分号或空白) -
"A-b_C".split(/[-_]/)→["A", "b", "C"] - 注意:正则中带捕获括号(如
/([,-])/)会把分隔符也加入结果数组,一般避免使用
控制结果长度:limit 参数限制数组项数
第二个可选参数 limit 指定最多返回多少项。超出部分会被合并到最后一项中,适用于截断处理或避免内存浪费。
立即学习“Java免费学习笔记(深入)”;
-
"a-b-c-d-e".split("-", 3)→["a", "b", "c-d-e"] -
"x y z w".split(" ", 2)→["x", "y z w"] - 若 limit ≤ 0,返回空数组;若为 1,只返回包含整个字符串的数组
常见陷阱与注意事项
split 行为有时不符合直觉,尤其在边界情况下需特别留意:
- 分隔符在开头或结尾时,会产生空字符串项:
"-a-b-".split("-")→["", "a", "b", ""] - 连续分隔符也会产生空项:
"a,,b".split(",")→["a", "", "b"],必要时可用.filter(Boolean)清理 - 空字符串调用 split:
"".split(",")→[""],不是空数组 - 对 null 或 undefined 调用会报错,使用前建议先做类型判断或提供默认值










