如何将复杂的字符串拆分为数组?

时间:2018-10-09 11:02:04

标签: javascript arrays regex split

我有复杂的字符串,其中用逗号分隔的字符串(可能包含逗号)。如何通过跳过内部逗号将字符串拆分为数组?

例如,我有一个字符串:

"'test1 test2', 'test3', 123, \"test4\", null, \"test5 , test6 test7\", 'test8, test9','test8,test9' ,'test10 , test11', , , 'test12'"

我想获取数组:

["test1 test2", "test3", 123, "test4", null, ""test5 , test6 test7"", "test8, test9", "test8,test9", "test10 , test11", empty × 2, "test12"]

更新: 根据评论,我找到了一个可行的解决方案(感谢@NinaScholz):

.match(/(["'].*?["']|[^",\s]+)/g);

但是没有空字符串...嗯...我不确定它是否涵盖了所有可能的情况?

1 个答案:

答案 0 :(得分:0)

split()方法用于将字符串拆分为子字符串数组,并返回新数组。

var str = "'test1 test2', 'test3', 123, \"test4\", null, \"test5 , test6 test7\", 'test8, test9','test8,test9' ,'test10 , test11', , , 'test12'";
var res = str.split(" ");
console.log(res)

check this link