我有这部分代码,它逐行读取文件。将要编辑的原始行是:
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。