2015-02-11 35 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