我应该为每一条线路使用什么分路器?

Ter*_* Li 4 java string split

我有一个文本文件,包含每隔一行的数据.我想得到每个非空行的内容.鉴于文件的全文,我首先尝试使用myText.split("\n\n").令我惊讶的是,它不起作用.我在Windows上工作.

Roh*_*ain 5

Windows使用CRLF作为行分隔符.而你正在分裂LF.那不行.

一种安全的方法是使用:

System.getProperty("line.separator");
Run Code Online (Sandbox Code Playgroud)

在您的操作系统上获取适当的分隔符.

String newLine = System.getProperty("line.separator");
myText.split("(?:" + newLine + ")+");
Run Code Online (Sandbox Code Playgroud)

您可能正在阅读在不同操作系统上创建的文件.那么上面的方法就不行了.更好的办法是使用字符类CRLF,由@Marko在评论中规定:

myText.split("[\r\n]+");
Run Code Online (Sandbox Code Playgroud)