关于 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) // ["","君不见","黄河","之水","天上来",""] |