Я пытаюсь подсчитать количество слов или фраз из входной строки, которая соответствует массиву слов или фраз.
У меня он несколько работает с методом содержимого, но он не считает слово или фразу, если он находится во входной строке более одного раза.
public int calculateSpamPoints(String email)
{
int counter = 0;
String[] spamWordsArray = new String[list.size()];
spamWordsArray = this.list.toArray(spamWordsArray);
String emailInput = "";
if(email.contains("."))
{
emailInput = this.getFileContent(email).toLowerCase();
}
else
{
emailInput = email;
}
for (int i = 0; i <= spamWordsArray.length - 1; i++)
{
if(emailInput.toLowerCase().contains(spamWordsArray[i].toLowerCase()))
{
counter++;
}
}
return counter;
}
Если кто-то вводит строкунапример,
Существует предложение без комиссий, обязательств и гарантии в миллион долларов.
Результат подсчета - 5. [Предложение, без комиссий, без обязательств, гарантии,миллион долларов]