Javascript正则表达式拆分拒绝null

Isa*_*aac 6 javascript regex null split

是否有可能使JavaScript正则表达式拒绝空匹配?

可以告诉String.split()方法拒绝空值吗?

console.log("abcccab".split("c"));
//result: ["ab", "", "", "ab"]
//desired result: ["ab", "ab"]
Run Code Online (Sandbox Code Playgroud)

-

当我测试这个时,我偶然发现了事故的部分答案:

console.log("abccacaab".split(/c+/));
//returns: ["ab", "a", "aab"] 
Run Code Online (Sandbox Code Playgroud)

但是,当比赛开始时会出现问题:

console.log("abccacaab".split(/a+/));
//returns: ["", "bcc", "c", "b"]
//          ^^
Run Code Online (Sandbox Code Playgroud)

有一个干净的答案吗?或者我们只需处理它?

小智 26

这不是一个正则表达式的解决方案,但过滤器可以快速完成它.

"abcccab".split("c").filter(Boolean);
Run Code Online (Sandbox Code Playgroud)

这将过滤掉falsey ""值.