我试图使用分隔符拆分值.但我发现了令人惊讶的结果
String data = "5|6|7||8|9||";
String[] split = data.split("\\|");
System.out.println(split.length);
Run Code Online (Sandbox Code Playgroud)
我期待得到8个值.[5,6,7,EMPTY,8,9,EMPTY,EMPTY] 但我只得到6个值.
任何想法和如何解决.无论EMPTY值在任何地方出现,它都应该在数组中.
看看下面的程序.
try {
for (String data : Files.readAllLines(Paths.get("D:/sample.txt"))){
String[] de = data.split(";");
System.out.println("Length = " + de.length);
}
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
Sample.txt的:
1;2;3;4 A;B;; a;b;c;
输出:
Length = 4 Length = 2 Length = 3
为什么第二和第三个输出给出2和3而不是4.在sample.txt文件中,第二行和第三行的条件应该\n在给第三个字段的分隔符后立即给出换行符(或输入).任何人都可以帮助我如何在不更改sample.txt文件条件和如何打印de[2](抛出 ArrayIndexOutOfBoundsException)值的情况下将长度设置为第2行和第3行4 ?