Java拆分功能消除空间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java拆分功能消除空间相关的知识,希望对你有一定的参考价值。

我试图将字符串放入一个有空格作为分隔符的数组中,除了第一个字符串前面有空格外,它的工作原理很好,因此数组中的第一个元素是“”而不是第一个字符串。

    public static String[] loadMessage(String fileName)
        throws FileNotFoundException {
    String[] s = null;
    File f = new File(fileName + ".txt");
    Scanner inFile = new Scanner(f);
    while (inFile.hasNext()) {
        s = inFile.nextLine().split(" ");

    }
    inFile.close();
    return s;

}

有没有简单的解决方案,或者我必须编写另一个扫描仪和分隔符,什么不是。

答案

在每条读取行上调用String.trim(),删除前导和尾随空格:

s = inFile.nextLine().trim().split(" ");

您还可以使用Files.readAllLines()将所有行读入List

for (String line : Files.readAllLines(Paths.get(fileName + ".txt",
                 StandardCharsets.UTF_8))) {
    String[] words = line.trim().split(" ");
    // do something with words
}
另一答案

使用trim()方法删除前导和尾随空格:

s = inFile.nextLine().trim().split(" ");

但是,正如@tnw指出的那样,在你的代码中只考虑最后一行......

另一答案

您可以在拆分之前使用trim()方法。

另一答案

您也可以使用正则表达式。如果你想保存第一个空间,你需要这样的东西:

s = inFile.nextLine().split("[^s]\s+"); 

如果您有兴趣,您将了解更多关于regex here的信息

以上是关于Java拆分功能消除空间的主要内容,如果未能解决你的问题,请参考以下文章

Sublime Text自定制代码片段(Code Snippets)

覆盖javascript以消除闪烁

Java itext为pdf 文件添加水印核心功能代码片段

java 双缓冲,消除闪烁 的问题

在 PySpark 中使用拆分功能

为啥将拆分为 wav 文件的旋律转换为拆分的 mp3 会在片段边界处产生不好的声音?