拆分字符串给出错误结果

时间:2016-02-10 07:53:59

标签: java string split

我有一个字符串a follow

String caret= "Y^LEAD_PROJECT_V.vw^View LEAD_PROJECT_V.vw^INF^View^Extension^RECOMPILE^Unit Test^Recompile - Test ^Test View PROJECT_V.vw^^SIMPLE^^^^^^^";

我想将此字符串与^分开。所以我使用以下代码将其拆分

String[] split = caret.split("\\^");
System.out.println(split.length);
获得了

split.length

12
需要

split.length

19 // as there are 18 caret symbols in the string

我不明白我做错了什么。无论我使用什么正则表达式,我都得到相同的结果。我也无法修改字符串caret

任何人都可以帮助我将19作为数组长度。

1 个答案:

答案 0 :(得分:3)

尝试使用"\\^",-1,如下所示:

  String[] split = caret.split("\\^",-1);

使用-1,您可以包含空字符串,输出= 19 有关详细信息,请查看此link