如何用空的新行拆分字符串

hud*_*udi 3 java string

我的文件包含这个字符串:

a

b

c
Run Code Online (Sandbox Code Playgroud)

现在我想读它并用空行拆分所以我有这个:

text.split("\n\n"); where text is output of file
Run Code Online (Sandbox Code Playgroud)

问题是这不起作用.当我将新行转换为字节时,我看到"\n \n"表示为10 10但我文件中的新行由10 13 10 13表示.那么我如何拆分文件?

xia*_*owl 6

Escape  Description            ASCII-Value
\n      New Line Feed (LF)     10
\r      Carriage Return (CR)   13
Run Code Online (Sandbox Code Playgroud)

所以你需要尝试一下string.split("\n\r")你的情况.

编辑

如果你想用空行拆分,试试吧\n\r\n\r.或者您可以使用.readLine()读取文件,并跳过所有空行.

你确定是10 13 10 13吗?它总是应该13 10......

而且,你不应该line.separator过分依赖.因为如果您正在处理来自*nix平台的某些文件,那么\n反之亦然.甚至在Windows上,一些编辑器也会将其\n用作新行字符.所以我建议你使用一些高级方法或string.replaceAll("\r\n", "\n")用来规范你的输入.