51311


閲覧ありがとうございます。

### 質問者のレベル

プログラミングの勉強を始めて2週間目です。

### 実現したいこと

下記の体重測定csvを読み込んでリストに格納し、測定結果の数値の前に「約」を付けたいです。  
リストに格納するところまではできたのですが、どうやって上記の処理を行えばよいのかわかりません。  
回答よろしくお願いします。  
(Beanは省略します)

### csv

[code]

    田中,欠席
    山田,測定結果：78kg
    葛城,欠席
    高橋,測定結果：88kg
    加藤,測定結果：54kg
    小林,欠席
    
[/code]

### 該当のソースコード

[code]

    List<List<Bean>> listOfList = new ArrayList<List<Bean>>();
    String line = "";
    while((line = br.readLine()) != null) {  //brはbufferedReaderのインスタンス
    　　　　
           String[] array = line.split(",");
    　　　　List<String>list = new ArrayList<String>();
           list.addAll(Arrays.asList(array));
    
    　　　　Bean bean = new Bean();
           bean.setName(list.get(0));
           bean.setWeight(list.get(1));
    
           List<Bean> listOfBean = new ArrayList<Bean>();
           listOfBean.add(bean);
           listOfList.add(listOfBean);
    }
    
[/code]


CC BY-SA 4.0
2018-12-17T14:16:53.527
51302
2018-12-17T22:24:29.073
2018-12-17T14:26:45.150
2238
31479
question
java
リストの特定の要素に文字を挿入したい


> どうやって上記の処理を行えばよいのかわかりません

上記の例を見ると、`array[1]`の値は「欠席」か「測定結果：XYZkg」の２パターンがある。`array[1]`に、「測定結果：」の文字列を「測定結果：約」に変更すれば、期待されている結果を得ることができます。例えば、次のように：

[code]

    while ((line = br.readLine()) != null) {
      String[] array = line.split(",");
      array[1] = array[1].replaceAll("^測定結果：", "測定結果：約");
    
      Bean bean = new Bean();
      bean.setName(array[0]);
      bean.setWeight(array[1]);
    
      List<Bean> listOfBean = new ArrayList<>();
      listOfBean.add(bean);
      listOfList.add(listOfBean);
    }
    
[/code]

`array[1]`（か、`bean.getWeight()`）を出力すると：

>
[code]

>     欠席
>     測定結果：約78kg
>     欠席
>     測定結果：約88kg
>     測定結果：約54kg
>     欠席
>  
[/code]


CC BY-SA 4.0
2018-12-17T22:24:29.073
51311
2018-12-17T22:24:29.073
31485
51302
answer