首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java split()方法如何在最后删除空字符串?

Java split()方法如何在最后删除空字符串?
EN

Stack Overflow用户
提问于 2018-01-26 01:44:38
回答 2查看 0关注 0票数 0

看看下面的程序。

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

Sample.txt的:

1;2;3;4
A; B ;;
A; B; C;

输出:

长度= 4
长度= 2
长度= 3

为什么第二个和第三个输出是2和3而不是4.。在sample.txt文件中,第二和第三行的条件是给\n第三个字段的分隔符后立即给换行符(或输入)。我该如何获得第二和第三行的长度为4,而不改变sample.txt文件的条件以及如何输出de[2](抛出 ArrayIndexOutOfBoundsException)的值?

EN

回答 2

Stack Overflow用户

发布于 2018-01-26 10:01:33

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

String[] de = data.split(";", -1);
票数 0
EN

Stack Overflow用户

发布于 2018-01-26 11:31:32

看看文档

[...] the array can have any length, and trailing empty strings will be discarded.

当调用时String.split(String),它会调用String.split(String, 0)并丢弃尾随的空字符串(如文档所说),String.split(String, n)n < 0它调用时不会丢弃任何东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档