3

私のファイルには次の文字列が含まれています:

a

b

c

今、私はそれを読んで空の行で分割したいので、これがあります:

text.split("\n\n"); where text is output of file

問題は、これが機能しないことです。新しい行をバイトに変換すると、「\n\n」は 10 10 として表されますが、ファイルの新しい行は 10 13 10 13 で表されます。ファイルを分割するにはどうすればよいですか?

4

8 に答える 8

2

以下を使用する必要がある場合があることに注意してください。

System.getProperty("line.separator");

プラットフォームに依存しないようにする場合は、行区切りを取得します。それを自動的に処理するBufferedWriter のnewLine() メソッドを使用することもできます。

于 2012-07-30T08:27:07.183 に答える
1

使用してみてください:

text.split("\n\r");
于 2012-07-30T08:22:02.157 に答える
0

なぜあなたは分裂しているの\n\nですか?

\r\nそれがファイル行が区切られているため、分割する必要があります。

于 2012-07-30T08:22:28.713 に答える
0
LF: Line Feed, U+000A
CR: Carriage Return, U+000D

so you need to try to use  
"string".split("\r\n");
于 2012-07-30T08:32:55.367 に答える
0

次のような正規表現を使用してみてください。

text.split("\\W+");

text.split("\\s+");
于 2012-07-30T08:24:41.143 に答える
-1

1 つの解決策は、"\n" を使用して分割し、空の文字列を無視することです

List<String> lines = text.split("\n");

for(String line : lines) {
  line = line.trim();
  if(line != "") {
      System.out.println(line);
  }
}
于 2012-07-30T08:24:28.857 に答える