2011-08-12 26 views
1

我想找到一个文档中的多令牌字符串或短语的频率。它不是我正在寻找的单词/单词频率,它总是多项词,并且项的数量是动态的...如何在java文档中查找一个短语(多个标记字符串)的频率?

例如:在文档中搜索“与朋友的单词”的频率!

任何帮助/指针将不胜感激。

感谢 Debjani

+0

你是说会有多个短语的搜索和你想知道每个短语的频率是多少? – Ali

回答

3

您可以阅读使用缓冲读卡器行文件行,然后用split函数来获取词/频率令牌

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

+1:想象中使用分割... – helios

+0

@helios谢谢:) – Ankur

+3

但如果短语分成两行,将不起作用。 – stivlo