如何拆分没有空单元格的子串?

时间:2013-08-10 04:04:13

标签: javascript regex arrays string split

示例:

"div#qwe.%class-first.class-two".split(/([#\.%])/)

["div", "#", "qwe", ".", "", "%", "class-first", ".", "class-two"]

Cell 4为空。如何使用正则表达式摆脱这种情况?


UPD#1 我认为match很慢,但事实并非如此。我的小测试:

Match: 5
Filter: 15
Split: 11
Big match: 3092
Big filter: 7115
Big split: 2925

2 个答案:

答案 0 :(得分:4)

使用match

> "div#qwe.%class-first.class-two".match(/[#.%]|[^#.%]+/g)
["div", "#", "qwe", ".", "%", "class-first", ".", "class-two"]

您无需在.内转义[]

答案 1 :(得分:0)

我认为你不能将一个正则表达式提供给.split(),因为你的输入数据连续有两个分隔符,但是其他正则表达式函数可以这样做,或者你可以{{ 3}}结果:

"div#qwe.%class-first.class-two".split(/([#\.%])/).filter(function(v){return v != "";})