我有这部分代码,它逐行读取文件。将要编辑的原始行是:
j(ac)“测试” / Aaa,Bbb /

我有一个包含元素[Ccc,Ddd,Eee]的arraylist,我希望在/和/之间的上一行替换这些元素。
/和/之间的复制正常。但是我不能将arraylist直接放到.replace原因,因为[]也会出现。因此,我正在尝试添加列表的元素。但是我不能得到期望的结果是:j(ac)“ test” / Ccc,Ddd,Eee /

我一直只得到第一个元素:j(ac)“ test” / Ccc /

我该如何解决?

List<String> strlist = new ArrayList<String>() ;

Scanner scanner = new Scanner(file);

 while (scanner.hasNextLine()) {
               String line = scanner.nextLine();

               if (line.contains("j(ac)")) {

                   String skat ;
                   skat = null ;

                   for(String s : strlist) {
                   for (int index = 0; index < strlist.size(); index++) {

                               s = strlist.get(index);
                       skat=s;
                   }
                   }
                  String next = line.replaceAll("/.*?/", "/"+skat+"/");

                   System.out.print(next);


               }

最佳答案

你很亲密

你只需要改变,

skat=s;skat = skat + "," + s;

这样,您将添加到列表中,添加逗号,而不是每次迭代都重置skat。

10-01 19:32