Java String.split()之后的数组大小是多少?

时间:2016-08-15 01:27:07

标签: java arrays

在Java中,当字符串文本是" a#b#c"时,分割后的数组("#")是[" a", " b"," c"],长度为3;

当文本是" ### 34;时,数组变为[" a"]。为什么我没有获得一系列[" a",""]?

它的诀窍是什么?

2 个答案:

答案 0 :(得分:3)

你可能想要

s.split("#", -1);

来自2-arg表格的文档:

  

如果n是非正数,那么模式将被应用尽可能多次,并且数组可以具有任何长度。如果n为零,那么模式将被应用尽可能多次,数组可以具有任何长度,并且尾随空字符串将被丢弃。

答案 1 :(得分:2)

这就是split功能的工作方式。它位于documentation

  

此方法的工作方式就像调用带有给定表达式和limit参数为零的双参数split方法一样。 结尾的空字符串因此不包含在结果数组中。