JavaScript String split() 方法
定义和用法
split()
方法将字符串拆分为子字符串数组。
split()
方法返回新数组,不会更改原始字符串。
如果 (" ") 用作分隔符,则字符串在单词之间进行拆分。
另请参阅:
实例
例子 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 |
支持 | 支持 | 支持 | 支持 | 支持 | 支持 |