在JavaScript开发中,将字符串分割为数组是非常常见的操作,无论是处理用户输入的内容、解析接口返回的数据,还是处理格式化文本,都可能会用到这个功能。实现这个需求最核心的方法是字符串的split方法,它可以根据指定的分隔规则,把原字符串拆分成多个子字符串,最终组成一个数组返回。

split方法的基础语法
split方法属于String对象的原型方法,所有字符串实例都可以直接调用,它的基础语法如下:
// 语法格式 str.split(separator, limit)
参数说明:
- separator:可选参数,表示分割字符串的规则,可以是字符串、正则表达式,如果不传入该参数,会直接把整个原字符串作为数组的唯一元素返回。
- limit:可选参数,一个整数,用来限制返回数组的最大长度,如果分割后的元素数量超过这个值,多余的元素会被忽略。
常见分割场景示例
按固定字符分割
这是最常用的场景,比如按逗号分割商品列表字符串,按空格分割句子中的单词:
// 按逗号分割字符串
let goodsStr = "苹果,香蕉,橙子,葡萄";
let goodsArr = goodsStr.split(",");
console.log(goodsArr); // 输出 ["苹果", "香蕉", "橙子", "葡萄"]
// 按空格分割句子
let sentence = "今天 天气 很好 适合 出门";
let wordArr = sentence.split(" ");
console.log(wordArr); // 输出 ["今天", "天气", "很好", "适合", "出门"]
按正则表达式分割
如果分隔规则比较复杂,比如需要同时按逗号和分号分割,或者按多个连续空格分割,就可以使用正则表达式作为separator参数:
// 同时按逗号和分号分割 let mixedStr = "张三,李四;王五,赵六"; let nameArr = mixedStr.split(/[,;]/); console.log(nameArr); // 输出 ["张三", "李四", "王五", "赵六"] // 按一个或多个连续空格分割 let spaceStr = "hello world test"; let spaceArr = spaceStr.split(/s+/); console.log(spaceArr); // 输出 ["hello", "world", "test"]
使用limit参数限制数组长度
当不需要获取所有分割结果时,可以通过limit参数控制返回数组的长度:
let numStr = "1-2-3-4-5-6";
// 只取前3个分割结果
let limitedArr = numStr.split("-", 3);
console.log(limitedArr); // 输出 ["1", "2", "3"]
特殊场景处理
分隔符在字符串开头或结尾
如果分隔符出现在字符串的开头或结尾,split方法会生成空字符串元素:
let startEndStr = ",a,b,c,";
let resultArr = startEndStr.split(",");
console.log(resultArr); // 输出 ["", "a", "b", "c", ""]
如果需要去掉这些空字符串,可以结合filter方法处理:
let filteredArr = resultArr.filter(item => item !== ""); console.log(filteredArr); // 输出 ["a", "b", "c"]
不传入separator参数
如果调用split方法时不传入separator参数,会直接把整个原字符串作为数组的唯一元素:
let singleStr = "hello world"; let singleArr = singleStr.split(); console.log(singleArr); // 输出 ["hello world"]
separator为空字符串
如果把空字符串作为separator参数,会把原字符串的每个字符都拆分成数组的独立元素:
let charStr = "test";
let charArr = charStr.split("");
console.log(charArr); // 输出 ["t", "e", "s", "t"]
注意事项
- split方法不会修改原字符串,它会返回一个新的数组,原字符串的内容保持不变。
- 如果separator是正则表达式,并且包含捕获组,那么捕获组匹配的内容也会被包含在返回的数组中。
- 当separator无法匹配原字符串中的任何内容时,会返回包含原字符串本身的一个数组。
除了split方法之外,部分场景下也可以结合match方法配合正则表达式实现字符串转数组的需求,不过split方法在按分隔规则拆分字符串的场景下更加直观和高效,开发者可以根据实际需求选择合适的方法。
JavaScriptsplit字符串分割数组字符串处理修改时间:2026-07-03 17:51:39