我的ArrayList
包含String
。我想遍历此ArrayList
,获取所有String
并查找它们是否包含某组字符然后将其删除。
我的意思的例子:在String
“你好,我的名字是Bobby”我想删除“嗨,我的名字是”,只是保留“Bobby”。
这是我的功能:
private ArrayList<String> epurateInformation(ArrayList<String> list) {
String[] potentialThreat = {"Pret : ", "Nom de l'Album : ", "Style : ", "Date : ", "Nom de la piste : ", "Propriétaire : ", "Information : "};
for(String s : list) {
for(int i = 0; i <= potentialThreat.length; i++) {
System.out.println(potentialThreat[i]);
//The error is right below here
if(s.contains(potentialThreat[i])) {
s.replace(potentialThreat[i], "");
}
cdInformation.add(s);
}
}
return list;
}
它给了我一个java.lang.ArrayIndexOutOfBoundsException
。
我尝试将 potentialThreat.length 替换为固定的int
(按7,6和1),但它仍然会给我这个错误。
如果您需要更多信息,请告诉我们。如果您对如何运行有另一个想法也让我知道。感谢
答案 0 :(得分:1)
数组基于零,你需要&lt;不是&lt; = so:
private ArrayList<String> epurateInformation(ArrayList<String> list) {
String[] potentialThreat = {"Pret : ", "Nom de l'Album : ", "Style : ", "Date : ", "Nom de la piste : ", "Propriétaire : ", "Information : "};
for(String s : list) {
for(int i = 0; i < potentialThreat.length; i++) {
System.out.println(potentialThreat[i]);
//The error is right below here
if(s.contains(potentialThreat[i])) {
s.replace(potentialThreat[i], "");
}
cdInformation.add(s);
}
}
return list;
}