0

次のような文字列を含むテキストファイルがあります

1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdf 6.gdg7.fadgd8.dsgg9.fgdsf 10.trete

ファイルから読み取り、新しいファイルに書き込むロジックを知っています

しかし、それを数字で分割して出力ファイルに新しい行に書き込むロジックを知りたい

お気に入り

1.dfaf
2. agdagdag
3. dgdfg

等...

入手方法。

4

6 に答える 6

1

新しい文字列を書き込み、保存したくない場合は、次のように使用できます。スペース文字を改行文字に置き換えるだけです!したがって、新しく作成された文字列は、ファイルに書き込むのとまったく同じ形式になります。

  String orignalString = readFromFile(...); // implement this
  String stringToWriteToFile = originalString.replace(" ","\n"); // so you replace the space with a \n
  writeToFile(stringToWriteToFile); // implement this

これは、文字列が一貫して単一のスペースで区切られている場合にのみ機能します。

注:これが宿題の場合、全員がString.split()を使用します。したがって、革新的でString.replace()を使用すると、いくつかの追加ポイントが得られる可能性があります。自分でやった!

于 2012-05-10T17:06:22.120 に答える
0

String.split()メソッドを使用して、これを行うことができます。

String[] result = "1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdf 6.gdg7.fadgd8.dsgg9.fgdsf 10.trete".split("\\s");
for (int x = 0; x < result.length; x++) {
    System.out.println(result[x]);
}

StringTokenizerを使用してこれを行うこともできますが、これはお勧めできません。

それはあなたが意味したことですか?

于 2012-05-10T17:06:38.363 に答える
0

String.split を試す http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split(java.lang.String )

正規表現を使用するには少し学習する必要がありますが、正規表現は学習するのに非常に役立ちます。

于 2012-05-10T17:02:13.693 に答える
0

String.split(Sting regex)開始するのに最適な場所です。また、正規表現は、質問を解決するために必要な追加要素です。

于 2012-05-10T17:05:23.873 に答える
0

分割機能を使用し、区切り文字を正規表現にする必要があります (スペースの後に 1 桁の数字が続きます)。

これで済むはず…

String[] arr = "1.dfaf 2.agdagdag 3.dgdfg 4.sdfsasd 5.dfdf 6.gdg 7.fadgd 8.dsgg 9.fgdsf 10.trete".split(" ");
for(int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
}
于 2012-05-10T17:14:27.330 に答える
0

おそらくこれが役立つかもしれません:

  • 文字列を取得したら、 に一致するすべての部分文字列を検索し\d+\.[a-z]+ます。そのためにはjava.util.regex.Matcher、および/またはが必要java.util.regex.Patternです。テスト ハーネス (Java™ チュートリアル > 基本クラス > 正規表現)で例を見つけることができます。メソッドmatcher.find()と を見てくださいmatcher.group()
  • 次に、数値とテキストの間にスペースを挿入する場合は、各部分文字列を.with で区切る必要がsplitあります。

これが役立つことを願っています。幸運を!

于 2012-05-10T17:25:26.390 に答える