需求:
自定义分隔符,拆分出满足下面需求的字符串。
- 双引号内的字符串,忽略分隔符。如
a,b,"c,d"
拆分得到['a', 'b', '"c,d"']
- 字符串内的单元可能包含双引号也可能不包含。如
a,b,"c_d","e","f,g",h
。
分隔符不一定是逗号,是自定义的,可以是空格,可以是a-z中的任意一个字符。也就是正则生成的过程大概是如下形式:
var splitBy = ','
var reg = new Reg(`...${split}...`)
可以提供一些样本字符串作为验证样本:
逗号分隔符:(半角逗号,英文的)
"rule_id","time,ti","module","dst_port","nat_src_ip","nat_src_port","nat_dst_ip","nat_dst_port","comment","src_mac","dst_mac","user","app_name","app_id","category","subcategory","risk","tags","technology","mid_session","1","1415171952","fw","G1/1","","accept","tcp","10.10.20.3","19079","10.10.14.211","1521","","","","","","00-19-B9-3D-DB-41","00-1A-A0-A9-EA-B9","","","","","","","","","1",""
空格分隔符:
a b "cc d" "s ccc" dddd cccccs