我想找到一个文档中的多令牌字符串或短语的频率。它不是我正在寻找的单词/单词频率,它总是多项词,并且项的数量是动态的...如何在java文档中查找一个短语(多个标记字符串)的频率?
例如:在文档中搜索“与朋友的单词”的频率!
任何帮助/指针将不胜感激。
感谢 Debjani
我想找到一个文档中的多令牌字符串或短语的频率。它不是我正在寻找的单词/单词频率,它总是多项词,并且项的数量是动态的...如何在java文档中查找一个短语(多个标记字符串)的频率?
例如:在文档中搜索“与朋友的单词”的频率!
任何帮助/指针将不胜感激。
感谢 Debjani
您可以阅读使用缓冲读卡器行文件行,然后用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;
为什么不使用正则表达式?正则表达式针对这类任务进行了优化。
http://download.oracle.com/javase/1.5.0/docs/api/java/util/regex/Matcher.html
你是说会有多个短语的搜索和你想知道每个短语的频率是多少? – Ali