首页 > 解决方案 > 使用 JavaScript 拆分逗号分隔的字符串但忽略分号之间的逗号

问题描述

所以我有这个字符串:

apple;banana;orange, kiwi;onion,strawberry, avocado

上面的字符串应该分成:

   apple
   banana
   orange, kiwi
   onion
   strawberry
   avocado

我找到了一个正则表达式函数,但它只拆分双引号“”

   str.split(",(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)");

我试图用 ; 替换 "" ;

   str.split(",(?=(?:[^\;]*\;[^\;]*\;)*[^\;]*$)");

但是当我替换为 ; 时它不起作用

标签: javascriptarraysregexsorting

解决方案


如果后面没有分号,您可以用分号或逗号分隔。

var string = 'apple;banana;orange, kiwi;onion,strawberry, avocado',
    array = string.split(/;\s*|,\s*(?!.*;)/);

console.log(array);


推荐阅读