JS 之 String split() 用法详解

关于 split() 方法的用法详解

说明

split() 是字符串根据分隔符分割成字符串数组的一个方法,
返回一个数组;

注意

1 如果分割符是正则表达式, split 会检测 正则表达式 中是否有小括号() , 小括号中的内容会输出到数组中,如果不想输出到数组中, 请使用正则 **(?:x)**字符;
2 如果分隔符出现在字符串的开头或结尾,那么数组的开头或结尾会分割出空字符

语法

1
str.split(separator,limit)

参数

separator : 【可选】, 【类型】 字符串 或 正则表达式,【表示】 这个参数整体作为字符串的分隔符
limit : 【可选】, 【类型】 整数, 【表示】 返回数组的长度 小于等于 limit

示例说明

1 无参数, 整个字符串作为数组的一个元素

1
2
3
var str = '君不见黄河之水天上来';
var arr = str.split();
console.log(arr) // ["君不见黄河之水天上来"]

2 根据 空字符串 分割数组

1
2
3
var str = '君不见黄河之水天上来';
var arr = str.split('');
console.log(arr) // ["君","不","见","黄","河","之","水","天","上","来"]

3 根据 空格 分割数组

1
2
3
var str = '君不见 黄河 之水 天上来';
var arr = str.split(' ');
console.log(arr) // ["君不见","黄河","之水","天上来"]

4 根据 , 分割数组

1
2
3
var str = '君不见,黄河,之水/天上来';
var arr =str.split(',');
console.log(arr) // ["君不见","黄河","之水/天上来"]

5 返回长度小于等于2的数组, 根据 / 分割数组

1
2
3
var str = '君不见/黄河/之水/天上来';
var arr = str.split('/', 2);
console.log(arr) // ["君不见","黄河"]

6 根据 正则 分割数组, 一个分隔符

1
2
3
var str = '君 & 不见 & 黄河& 之水 &天上来,奔流 & 到海 & 不复回';
var arr = str.split(/\s+&\s+/);
console.log(arr) // ["君","不见","黄河& 之水 &天上来,奔流","到海","不复回"]

7 根据 正则 分割数组, 多个分隔符, 保留分隔符

1
2
3
var str = '君 / 不见 / 黄河/ 之水 /天上来,奔流 & 到海 & 不复回';
var arr = str.split(/\s+(\/|&)\s+/);
console.log(arr) // ["君","/","不见","/","黄河/ 之水 /天上来,奔流","&","到海","&","不复回"]

8 根据 正则 分割数组, 多个分隔符, 不保留分隔符

1
2
3
var str = '君 / 不见 / 黄河/ 之水 /天上来,奔流 & 到海 & 不复回';
vararr = str.split(/\s+(?:\/|&)\s+/);
console.log(arr) // ["君","不见","黄河/ 之水 /天上来,奔流","到海","不复回"]

9 分隔符出现在字符串的开头或结尾

1
2
3
var str = '/君不见/黄河/之水/天上来/';
var arr = str.split('/');
console.log(arr) // ["","君不见","黄河","之水","天上来",""]