Q-Logo 我的学习笔记分享

JavaScript 字符串split 方法用多个字符进行分割并去除空值

语法简介

JavaScript 字符串的split 方法用于把一个字符串以指定的分隔符分割成字符串数组 。其基本用法如下:

stringObject.split(separator,howmany)

  • separator,必需的参数。此参数可以是字符串或正则表达式,用于指定分割 stringObject 的分隔符。
  • howmany,可选的参数。此参数可指定返回的数组的最大长度,即最多只取前howmany 个分割后的字符串。如果不设置该参数,以数组形式返回全部分割后的字符串。

split 方法的返回值是一个字符串数组, 与Array.join 方法执行的操作是相反的。

用法简介

最简单的例子,用逗号分割字符串,得到字符串数组

var mystring = "10,20,30,40";

var myarray = mystring.split(",");

分割后的结果是

["10","20","30","40"]

但有时我们的原始字符串并不规则(数据清理时常会遇到这种“脏”数据),例如,可能既有逗号分隔符,又有分号分隔符,结尾处还有一个额外的分号

var mystring = "10,20;30,40,";

这种情况下,直接用mystring.split(",")得到的将不是想要的结果,"20;30"不会被分开,且数组中会有空值""

["10","20;30","40",""]

解决的办法就是,使用正则表达式指定多个分割符,再用filter 方法过滤去除数组中的空值:

var myarray = mystring.split(/[,;]/).filter(item => item !== '')

这样,得到的结果是

["10","20","30","40"]