.txt ファイルを読み取って複数の文字列に分割しようとしていますが、一部の行を除外しています。
分割したいファイルの例:
10:
String One
20:
String Two
等々。すべての数字とコロンを無視して、その下の文字列を保存し、次の数字で停止したいと思います。
私はこれが非常に具体的であることを知っており、自分でやろうとしましたが、運がありませんでした. このようにできない場合は、回避策がありますが、大量の .txt ファイルができてしまい、あまり良くありません。
.txt ファイルを読み取って複数の文字列に分割しようとしていますが、一部の行を除外しています。
分割したいファイルの例:
10:
String One
20:
String Two
等々。すべての数字とコロンを無視して、その下の文字列を保存し、次の数字で停止したいと思います。
私はこれが非常に具体的であることを知っており、自分でやろうとしましたが、運がありませんでした. このようにできない場合は、回避策がありますが、大量の .txt ファイルができてしまい、あまり良くありません。
次のようなことを試すことができます:
Scanner file = new Scanner(new File("file.txt"));
file.useDelimiter("\n?\\d+:\n");
while (file.hasNext())
System.out.println(file.next());
弦一 文字列 2
sedがこれに完全に適しているのに、なぜJavaを使用するのですか?
1,/^10:/d
/^20:/q
これにより、最初の行と で始まる行の間のすべての行が削除され、10:その後の行が出力され、 で始まる行が検出されると終了し20:ます。
または、数字の後にコロンが続くすべての行を削除する場合は、次のように使用できます。
/^[[:digit:]]\{1,\}:$/d
これにより、1 つ以上の数字、次にコロンのみを含むすべての行が削除されます。