String data = "5|6|7||8|9||";String[] split = data.split("\\|");System.out.println(split.length);
我期望得到8个数值。[5,6,7,空,8,9,空]但我只得到了6个数值。
任何想法和方法。无论空值出现在任何地方,它都应该在数组中。
DIEA
浏览 1474回答 3
3回答
汪汪一只猫
从.的文件String.split(String regex):该方法的工作方式就像调用带有给定表达式和限制参数为零的双参数拆分方法一样。因此,结果数组中不包含尾随空字符串。因此,您必须使用两个参数版本。String.split(String regex, int limit)具有负值的:String[] split = data.split("\\|",-1);医生:如果限制n大于零,则模式将最多应用n-1次,数组的长度将不大于n,数组的最后一个条目将包含最后匹配分隔符以外的所有输入。如果n是非正的,那么模式将被应用尽可能多次,并且数组可以有任意长度。如果n是零,那么模式将被应用尽可能多次,数组可以有任意长度,尾随空字符串将被丢弃。这不会遗漏任何空元素,包括后面的元素。