0

このようなメモ帳にテキストの文字列があります

メモ帳のテキスト:

date amount intrest tenure debitamount name address state city zipcode phone altphone mailid refaddress ref  refphoneno emptype employment


12/11/1987 12345 3.5 144 32456 durga f rao 456 under road
dallas dl 2435 2222-22-2222 2222-22-2222 durgafrao@gmail.com
165 nala road raj 22-22-22-2222 it 12
15/05/1986 2345 6.4 144 45789 rama k nand 789 residensy  
newyork ny 2222-22-2222 2222-22-2222 ramaknand@yahoomail.com
189 ring road hen  22-22-22-22-2222 it 12
16/12/1985 1234 6.5 144 35265 rama j rao 123 dura residensy meknoor
mn 2222-22-2222 2222-22-2222 ramajrao@orkut.com 891 cing road vinky
22-22-22-2222 it 12
12/11/1987 12345 3.5 144 32456 durga f rao 456 under road dallas dl
2435 2222-22-2222 2222-22-2222 durgafrao@gmail.com 165 nala road raj
22-22-22-2222 it 12


         out put should be like below
in between name and address single space and all other double space


12/11/1987  12345  3.5  144  32456  durga f rao  456 under road
dallas  dl  2435  2222-22-2222  2222-22-2222  durgaao@gmail.com
165 nala road  raj  22-22-22-2222  it  12
15/05/1986  2345  6.4  144  45789  rama k nand  789 residensy  
newyork  ny  2222-22-2222 2222-22-2222  ramaad@yahoomail.com
189 ring road  hen  22-22-22-22-2222  it  12
16/12/1985  1234  6.5  144  35265  rama j rao  123 dura residensy  meknoor
mn  2222-22-2222  2222-22-2222  ramajo@orkut.com  891 cing road  vinky
22-22-22-2222  it  12
12/11/1987  12345  3.5  144  32456  dura f rao  456 under road  dallas  dl
2435  2222-22-2222  2222-22-2222  durga@gmail.com  165 nala road  raj
22-22-22-2222  it  12

名前と住所のシングルスペースと他のすべてのダブルスペースの間で、出力を次のようにする必要がありますか?

以下のコードを書きましたが、目的の出力を得ることができません

誰でも私を助けることができますか?

私が試したコード:

public static String newLine = System.getProperty("line.separator");


    public static void main(String args[]){
        FileWriter iWrite=null;

         try {
             iWrite = new FileWriter("C:/Documents and Settings/pavan/My Documents/output.txt");
        } catch (IOException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        } 

        try {
List<String> lines = FileUtils.readLines(new File("C:/Documents and Settings/pavan/My Documents/input.txt"));

        for(String lines1:lines){

            iWrite.write(lines1);

            iWrite.write(newLine);
        }
        iWrite.close();

        } catch (IOException e) {
            e.printStackTrace();
        }


    }
4

1 に答える 1

0

これは宿題の問題のにおいがするので、最適な解決策を考えているわけではありませんが、必要な場合にできることの sudo コードを次に示します。

その前に、データが実際にはヘッダーに基づいて1行にあると仮定しましょう:

12/11/1987 12345 3.5 144 32456 durga f rao 456 under road dallas dl 2435 2222-22-2222 2222-22-2222 durgafrao@gmail.com 165 nala road raj 22-22-22-2222 it 12

  • 別名配列の ArrayList を作成しますArrayList<String[]>
  • 読み取るすべての行に対して、split(" ")またはsplit("\s")を使用して、スペースに基づいて改行を文字列に分割します
  • すべての行が分割されて配列リストに格納されたら、リストを反復処理できます
  • 文字列配列のリスト内で、ハックで配列を反復処理できます
  • ハックは、どの時点で余分なスペースを追加する必要があるかを認識しているため、配列で特定の場所に到達すると、追加のスペースを追加できることです。それ以外の場所では、スペースを 1 つだけ追加できます。

繰り返しますが、これは最適なソリューションではありません。

現在のコードに関しては、ファイルに書き戻す前に、行を読み取って newLine 文字を追加するだけです。したがって、あなたのコードが行っているのは作成だけです

ああ

bbb

ccc

の中へ

ああ

bbb

ccc

本質的に、多くはしません。

于 2013-02-11T06:29:38.863 に答える