Java split() 方法最后去除空字符串?

标签 java split

查看以下程序。

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();
}

示例.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] 的值的情况下将第 2 行和第 3 行的长度设为 4 (抛出 ArrayIndexOutOfBoundsException)?

最佳答案

您可以指定尽可能频繁地应用该模式:

String[] de = data.split(";", -1);

See the Javadoc对于 split 方法,详细信息需要两个参数。

关于Java split() 方法最后去除空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/545957/

相关文章:

c++ - 拆分 malloc 内存空间

python - 对数据帧中的列执行 str.split 会返回SettingWithCopyWarning

java - 如何在Java Webservice中执行多个操作

java - 在 JAVA 中处理事件的正确方法是什么?

java - light-4j:light-codegen 无法生成项目

java - 如何使用 DOM 获取 ElementById?

java - 分割字符串!在JAVA中

python - 如何使用Python分割XML文件(在特定的N节点上),同时保留页眉和页脚?

Python提取复杂字符串中的单个单词

java - 获取 Activity 为空