Как найти частоту фразы (несколько строк токена) внутри документа в Java? - PullRequest
1 голос
/ 12 августа 2011

Я хочу найти частоту нескольких токенов-строк или фраз внутри документа.Это не частота слова / однократного слова, которую я ищу, она всегда будет многопоточной, а число терминов - динамическим ...

ex: поиск частоты "слов с друзьями" внутридокумент!

Любая помощь / указатель будет высоко ценится.

Спасибо Debjani

Ответы [ 2 ]

3 голосов
/ 12 августа 2011

Вы можете читать документ построчно с помощью Buffered Reader, а затем использовать функцию разделения для получения частоты слова / токена

int count=0;
while ((strLine = br.readLine()) != null)   {
     count+ = (strLine.split("words with friends").length-1);     
}
return count;

РЕДАКТИРОВАТЬ: И если вы хотите выполнить поиск без учета регистра,тогда вы можете использовать

Pattern myPattern = Pattern.compile("words with friends", Pattern.CASE_INSENSITIVE);
int count=0;
while ((strLine = br.readLine()) != null)   {
     count+ = (myPattern.split(strLine).length-1);    
}
return count;
1 голос
/ 12 августа 2011

Почему бы не использовать регулярные выражения?Regex оптимизирован для такого рода задач.

http://download.oracle.com/javase/1.5.0/docs/api/java/util/regex/Matcher.html

...