2015-11-04 115 views
1

由於某種原因,我的多分隔符拆分不起作用。希望它只是一個語法錯誤。拆分多個分隔符不工作

這工作,但我想,如果它發現結束日期

String dateList[] = test.split("(?="+StartDate+")"); 

也分裂但這並不。我錯過了什麼嗎?

String dateList[] = text.split("[(?="+StartDate+")(?="+EndDate+")]"); 

回答

2

你不能在自定義字符類中使用「lookarounds」 - 他們會僅僅解釋爲類的字符(甚至可能不與懸掛-正確編譯模式如果檢測到畸形的範圍,例如字符)。

使用|運營商在StartDateEndDate之間交替。

喜歡的東西:

String dateList[] = text.split("(?="+StartDate+"|"+EndDate+")"); 

注意

  • 您可能還需要調用你的開始和結束日期值Pattern.quote,以防它們包含保留字符。
  • Java變量的命名規則是camelBack,不CamelCase
+0

謝謝!這工作完美。 – TJF

+0

@TJF不客氣! – Mena