JavaScript String split() 方法

定义和用法

split() 方法将字符串拆分为子字符串数组。

split() 方法返回新数组,不会更改原始字符串。

如果 (" ") 用作分隔符,则字符串在单词之间进行拆分。

另请参阅:

slice() 方法

substr() 方法

substring() 方法

实例

例子 1

拆分单词:

let text = "How are you doing today?";
const myArray = text.split(" ");

亲自试一试

例子 2

拆分单词,并返回第二个单词:

let text = "How are you doing today?";
const myArray = text.split(" ");
let word = myArray[1];

亲自试一试

例子 3

拆分字符,包括空格:

const myArray = text.split("");

亲自试一试

例子 4

使用 limit 参数:

const myArray = text.split(" ", 3);

亲自试一试

例子 5

将字符串拆分为字符并返回第二个字符:

const myArray = text.split("");

亲自试一试

例子 6

使用字母作为分隔符:

const myArray = text.split("o");

亲自试一试

例子 7

如果省略 separator 参数,则返回包含原始字符串的数组:

const myArray = text.split();

亲自试一试

语法

string.split(separator, limit)

参数

参数 描述
separator

可选。用于拆分的字符串或正则表达式。

如果省略,则返回包含原始字符串的数组。

limit

可选。限制拆分数量的整数。

超出限制的项目被排除在外。

返回值

类型 描述
Array 包含被拆分值的数组。

技术细节

参数 separator

该参数是字符串或正则表达式,从该参数指定的地方分割 string

参数 limit

这个可选的整数指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数字。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

返回值

返回字符串数组。该数组是通过在 separator 指定的边界处将字符串 string 分割成子串创建的。返回的数组中的子串不包括 separator 自身。

但是,如果 separator 是包含子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的字串(但不包括与整个正则表达式匹配的文本)。

说明

split() 方法将创建并返回字符串数组,该数组中的元素是指定的字符串 string 的子串,最多具有 limit 个。这些子串是通过从头到尾检索字符串中与 separator 匹配的文本,在匹配文本之前和之后分割 string 得到的。返回的子串中不包括定界符文本(本部分结尾处提到的情况除外)。如果定界符从字符串开头开始匹配,返回的数组的第一个元素是空串,即出现在定界符之前的文本。同样,如果定界符与字符串的结尾匹配,返回的数组的最后一个元素也是空串(假定与 limit 没有冲突)。

如果没有指定 separator,那么它根本就不对 string 执行分割,返回的数组只有一个元素,而不分割字符串元素。如果 separator 是空串或与空串匹配的正则表达式,那么 string 中的每个字符之间都会被分割,返回的数组的长度与字符串长度相等(假定 limit 不小于该长度)(注意,这是一种特殊情况,因为没有匹配第一个字符之前和最后一个字符之后的空串)。

前面说过,该方法返回的数组中的子串不包括用于分割字符串的定界符文本。但如果 separator 是包括子表达式的正则表达式,那么返回的数组中包括与这些子表达式匹配的子串(但不包括与整个正则表达式匹配的文本)。

注意:string.split() 执行的操作与 Array.join() 执行的操作相反。

浏览器支持

split() 是 ECMAScript1 (ES1) 特性。

所有浏览器都完全支持 ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 支持 支持 支持 支持 支持

相关页面

JavaScript 字符串

JavaScript 字符串方法

JavaScript 字符串搜索