Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将复杂字符串拆分为数组?_Javascript_Arrays_Regex_Split - Fatal编程技术网

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

Javascript 如何将复杂字符串拆分为数组?,javascript,arrays,regex,split,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, ""

我有一个用逗号分隔的复杂字符串,它可能包含逗号。如何在跳过内部逗号的情况下将字符串拆分为数组

例如,我有一个字符串:

"'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"]
upd: 根据评论,我找到了一个实用的解决方案,谢谢@NinaScholz:

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

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

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

var str='test1 test2','test3',123,\test4\,null,\test5,test6 test7\,'test8,test9','test8,test9','test10,test11','test12'; var-res=str.split;
console.logres欢迎使用SO。在这里,我们帮助您编写代码;我们不是为你做这项任务。到目前为止你做了什么?也许是一个受骗的目标:评估它并面对后果。@Utkanos,我被要求做些什么来代替我吗?没有产生预期的结果。