拆分多个分隔符不起作用

时间:2015-11-04 15:39:38

标签: java split

由于某种原因,我的多分隔符拆分无效。希望它只是一个语法错误。

这样可行,但我想在找到结束日期时拆分

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

但事实并非如此。我错过了什么吗?

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

1 个答案:

答案 0 :(得分:2)

你不能使用" lookarounds"在自定义字符类中 - 它们只被解释为类的字符(如果检测到格式错误的范围,甚至可能无法正确编译模式,例如使用悬空的-个字符)。

使用|运算符在StartDateEndDate之间切换。

类似的东西:

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

备注

  • 您还可以在开始日期和结束日期值上调用Pattern.quote,以防它们包含保留字符。
  • Java变量命名约定为camelBack,而不是CamelCase