0

私はこのコードを持っています:

  BufferedReader br =new BufferedReader(new FileReader("userdetails.txt"));
     String str;
     ArrayList<String> stringList = new ArrayList<String>();
     while ((str=br.readLine())!=null){
        String datavalue [] = str.split(",");
        String category = datavalue[0];
        String value = datavalue[1];
        stringList.add(category);
        stringList.add(value);
     }
     br.close();

変数のカテゴリと値にコンマ (,) がない場合に機能しますが、変数値の値にはコンマが含まれています。コンマを使用せずにインデックスを分割する方法はありますか?

4

5 に答える 5

0

データに「」が含まれている場合、一般にCSVファイルと呼ばれます。OpenCSVは、それを処理するためにかなり使用されているライブラリです。フォーマットはシンプルに見えますが、癖があります。詳細については、ウィキペディアを参照してください

于 2012-11-18T16:48:52.627 に答える
0

私があなたを正しく理解した場合:

    String str = "category,vvvv,vvv";
    int i = str.indexOf(',');
    String category = str.substring(0, i);
    String value = str.substring(i + 1);
于 2012-11-18T16:49:16.773 に答える
0

split() は正規表現を使用します。リーダー コードが完全に機能する場合は、

str.split("\\,");
于 2012-11-18T16:57:39.460 に答える
0

解決策は次のとおりです。

    BufferedReader br =new BufferedReader(new FileReader("userdetails.txt"));
    String str;
    ArrayList<String> stringList = new ArrayList<String>();
    while ((str=br.readLine())!=null){
        int firstIndexOfComma = str.indexOf(',');
        String category = str.substring(0, firstIndexOfComma);
        String value = str.substring(firstIndexOfComma + 1);
        stringList.add(category);
        stringList.add(value);
        System.out.println(category+" "+value);
    }
    br.close();
于 2012-11-18T17:26:26.720 に答える
-2

100%確実ではありませんが、あなたはただ 何かをすることができませんString datavalue [] = str.split("--"); でしたか?

サンプルファイル:

x,y,z--123--Hello World

出力:

"x,y,z", "123", "Hello World"

于 2012-11-18T16:28:31.127 に答える