-1

.txt ファイルを読み取って複数の文字列に分割しようとしていますが、一部の行を除外しています。

分割したいファイルの例:

10:
String One
20:
String Two

等々。すべての数字とコロンを無視して、その下の文字列を保存し、次の数字で停止したいと思います。

私はこれが非常に具体的であることを知っており、自分でやろうとしましたが、運がありませんでした. このようにできない場合は、回避策がありますが、大量の .txt ファイルができてしまい、あまり良くありません。

4

2 に答える 2

1

次のようなことを試すことができます:

Scanner file = new Scanner(new File("file.txt"));
file.useDelimiter("\n?\\d+:\n");

while (file.hasNext())
    System.out.println(file.next());
弦一
文字列 2
于 2012-12-29T20:12:37.980 に答える
1

sedがこれに完全に適しているのに、なぜJavaを使用するのですか?

1,/^10:/d
/^20:/q

これにより、最初の行と で始まる行の間のすべての行が削除され、10:その後の行が出力され、 で始まる行が検出されると終了し20:ます。

または、数字の後にコロンが続くすべての行を削除する場合は、次のように使用できます。

/^[[:digit:]]\{1,\}:$/d

これにより、1 つ以上の数字、次にコロンのみを含むすべての行が削除されます。

于 2012-12-29T20:07:43.837 に答える