Итак, все работает нормально, кроме функции обрезки. Я не знаю, работает ли он или нет.
На самом деле я делаю инвертированный индекс, используя ArrayList. Извлечение строк из файлов, разбиение на слова (токенизация) и удаление знаков препинания. Когда я добираюсь до части удаления стоп-слов, это не совпадает со стоп-словами, предоставленными в файле. Я думаю, что это из-за пробела в каждом индексе ArrayList.
Список StopWords:
a, is, the, of, all, and, to, can, be, as, once, for, at, am, are, has, have, had, up, his, her, in, on, no, we, do
Моя стратегия:
String [] TempArray = new String[word.size()];
for (int i = 0; i < word.size(); i++) {
word.set(i, word.get(i).toLowerCase());
word.set(i, word.get(i).replaceAll("[^a-zA-Z]", ""));
}
for (int i = 0; i < word.size(); i++) {
TempArray[i] = word.get(i);
TempArray[i] = TempArray[i].trim();
word.set(i, TempArray[i]);
System.out.println(word.get(i));
}
Выход:
[a, blunder, by, anton, chekhov, , an, illustration, for, the, story, a, blunder, by, the, author, anton, chekhov, portrait, of, ivan, lazhechnikov...]
Буду признателен за любые предложения!