У меня есть `string example =" этот сайт содержит все примеры из Альманаха разработчиков Java и т. Д. Скопируйте и вставьте эти примеры непосредственно в свои приложения "
после токена и сделайте что-нибудь, что я хочу на примере строки, у меня есть arraylist как:
ArrayList <token > arl = " "this site holds ", "holds all the examples ", "the examples from The Java Developers", " Copy and paste " )
"этот сайт держит", я знаю начало и конец позиции в тесте строки: star = 1 end = 3
"содержит все примеры", я знаю положение stat = 3 end = 6,
«Примеры от разработчиков Java», я знаю, что положение stat = 5 end = 10,
«Скопируйте и вставьте», я знаю, что положение stat = 14 end = 17,
мы можем видеть, что некоторые элементы в arl перекрываются: «этот сайт содержит», «содержит все примеры», «примеры от разработчиков Java».
Проблема здесь в том, как я могу объединить перекрывающийся элемент с полученным массивом, как
ArrayList result = "" этот сайт содержит все примеры от разработчиков Java "," "Копирование и вставка" ";
Вот мой код: но он объединяет первый элемент, только если проверка перекрывает элемент
public ArrayList<TextChunks> finalTextChunks(ArrayList<TextChunks> textchunkswithkeyword) {
ArrayList<TextChunks > result = (ArrayList<TextChunks>) textchunkswithkeyword.clone();
//System.out.print(result.size());
int j;
for(int i=0;i< result.size() ;i++) {
int index = i;
if(i+1>=result.size()){
break;
}
j=i+1;
if(result.get(i).checkOverlapingTwoTextchunks(result.get(j))== true) {
TextChunks temp = new TextChunks();
temp = handleOverlaping(textchunkswithkeyword.get(i),textchunkswithkeyword.get(j),resultSearchEngine);
result.set(i, temp);
result.remove(j);
i = index;
continue;
}
}
return result;
}
}
Спасибо в avadce