2015-02-11 34 views
1

我有一个奇怪的问题,我不知道如何解决。将不均匀的字符串与逗号分开

我的目标是能够分裂,其具有由逗号分隔成一个数组,使得数组中的每个元素是一个成分的某些成分的字符串。然而,我会遇到该列表成分的一些字符串在列表中具有如下所示的列表:

水,玉米糖浆和以下各项的2%或更少:浓缩的果汁(橙,西兰花苹果酸,苹果酸,抗坏血酸(VITAMIN C),THIAMIN HYDROCHOLORIDE(维生素B1),天然香料。改性的CORNSTARCH,CANOLA油,纤维素胶,蔗糖,六偏磷酸钠,保护风味的黄钾,黄色#5,黄色#6和EDTA二钠保护颜色。正如你所看到的,有一部分字符串表示“以下各项中的2%或更少:浓缩果汁(桔子,甘蔗,苹果,石灰,葡萄柚)”。如果split方法的分隔符是一个简单的逗号,那么其中一个成分将是“以下各项的2%或更少:浓缩果汁(桔子”,看起来不正确。我的目标是获得整个部分将该字符串合并到一个元素中,例如该元素应该是“浓缩果汁(橘子,橘子,苹果,石灰,葡萄柚)的2%或更少”

谢谢您花时间看看我的!问题

回答

1

给这一个镜头:

\,+(?![^\(]*\)) 

似乎在JavaScript的工作对你的例子

+0

谢谢你的工作完美。我在这里阅读了关于正则表达式的教程部分:http://docs.oracle.com/javase/tutorial/essential/regex/ 我会继续阅读,因为它非常有用。 – user3527825 2015-02-11 18:17:14

+0

根据你的学习风格,你可能想看看[regex101](https://regex101.com/r/zQ3jG4/1) - 这是一个很好的测试正则表达式并学习它们的意思的站点。一旦你理解了基础知识,我发现它非常有用。 – Sperr 2015-02-11 20:15:24