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"]