JavaScript的split方法用分隔符将字符串切为新数组,不修改原串;支持字符串/正则分隔、限制结果长度,并需注意空串、边界等边界情况。

JavaScript 的 split 方法通过指定分隔符,把字符串切割成一个字符串数组。 它不会修改原字符串,而是返回一个新数组。关键在于你传入的分隔符(可以是字符串或正则表达式),它决定了“在哪切”和“切几刀”。
基础用法:用固定字符拆分
最常见的是用单个字符(如空格、逗号、横线)作为分隔符:
-
"a,b,c".split(",")→["a", "b", "c"] -
"hello world".split(" ")→["hello", "world"] -
"2024-05-10".split("-")→["2024", "05", "10"]
进阶技巧:用正则表达式灵活拆分
当分隔规则较复杂时(比如多个空格、混合符号、忽略大小写),正则更可靠:
-
"one two\tthree".split(/\s+/)→["one", "two", "three"](\s+匹配一个或多个空白字符) -
"a,b;c:d".split(/[,;:]/)→["a", "b", "c", "d"](匹配任意一个分隔符) -
"ABC-def".split(/(?=[A-Z])/)→["ABC", "-def"](用正向先行断言在大写字母前切)
控制结果长度:限制数组元素个数
第二个参数可指定最多返回多少项,超出部分会合并到最后一项:
立即学习“Java免费学习笔记(深入)”;
-
"a,b,c,d".split(",", 2)→["a", "b"] -
"x-y-z-w".split("-", 3)→["x", "y", "z-w"]
边界情况注意点
这些细节容易出错,需要留意:
- 空字符串
"".split(",")→[""](返回含一个空字符串的数组) - 分隔符不存在:
"abc".split("x")→["abc"](整个字符串作为唯一元素) - 分隔符在开头/结尾:
",a,b,".split(",")→["", "a", "b", ""](会产生空字符串) - 想过滤空项?可链式调用
.filter(Boolean)或.filter(s => s)


















