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

时间:2013-08-09 08:47:18

标签: java string split

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

1 个答案:

答案 0 :(得分:5)

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

安全的方法是使用:

System.getProperty("line.separator");

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

String newLine = System.getProperty("line.separator");
myText.split("(?:" + newLine + ")+");

您可能正在阅读在其他操作系统上创建的文件。那么上面的方法就不行了。更好的方法是使用CRLF的字符类,如@Marko的评论中所指定的那样:

myText.split("[\r\n]+");
相关问题