package edu.uncc.cs.watsonsim.researchers;
import java.util.ArrayList;
import java.util.List;
import edu.uncc.cs.watsonsim.Answer;
import edu.uncc.cs.watsonsim.Question;
/**
* @author Suresh Appana
*
*/
public class AnswerTrimming extends Researcher {
@Override
public List<Answer> question(Question question, List<Answer> answers) {
List<Answer> answers_updated = new ArrayList<>();
for(Answer ans : answers) {
String text = ans.text;
//System.out.println(text);
String[] answer_array = ans.text.split(" ");
int answer_array_length = answer_array.length;
for (int j = 0; j < answer_array_length; j++) {
for (int i = answer_array_length - 1; i >= j; i--) {
StringBuilder sb = new StringBuilder();
for (int k = j; k <= i; k++) {
// System.out.println("i=" + i + ", j=" + j + ", k");
sb.append(answer_array[k]);
if (k != i)
sb.append(" ");
}
if (sb.length() > 0 && question.text.toLowerCase().contains(sb.toString().toLowerCase())) {
text = text
.replace(sb.toString(), "")
.trim()
.replaceAll(" +", " ")
.replaceAll("^([^a-z|A-Z|0-9])( )*", "")
.replaceAll("()*([^a-z|A-Z|0-9])$", "")
.trim();
answer_array = text.split(" ");
answer_array_length = answer_array.length;
i = answer_array_length - 1;
j = 0;
}
}
}
answers_updated.add( ans.withText(text));
}
//for(int i=0;i<answers.size();i++)
// System.out.println(answers.get(i).text+"//"+answers_updated.get(i).text);
return answers_updated;
//answers = late_researchers.pull(question, answers_updated);
}
}