私のファイルには次の文字列が含まれています:
a
b
c
今、私はそれを読んで空の行で分割したいので、これがあります:
text.split("\n\n"); where text is output of file
問題は、これが機能しないことです。新しい行をバイトに変換すると、「\n\n」は 10 10 として表されますが、ファイルの新しい行は 10 13 10 13 で表されます。ファイルを分割するにはどうすればよいですか?
以下を使用する必要がある場合があることに注意してください。
System.getProperty("line.separator");
プラットフォームに依存しないようにする場合は、行区切りを取得します。それを自動的に処理するBufferedWriter のnewLine() メソッドを使用することもできます。
使用してみてください:
text.split("\n\r");
なぜあなたは分裂しているの\n\n
ですか?
\r\n
それがファイル行が区切られているため、分割する必要があります。
LF: Line Feed, U+000A
CR: Carriage Return, U+000D
so you need to try to use
"string".split("\r\n");
次のような正規表現を使用してみてください。
text.split("\\W+");
text.split("\\s+");
1 つの解決策は、"\n" を使用して分割し、空の文字列を無視することです
List<String> lines = text.split("\n");
for(String line : lines) {
line = line.trim();
if(line != "") {
System.out.println(line);
}
}