我想知道,如果我有一个单行字符串,那么如何使用简单的java代码计算该字符串中特定单词的频率?!
提前谢谢..。
我要找的是java中的一个示例逻辑代码,它用于搜索句子中的特定单词。我正在构建一个垃圾邮件过滤器,它需要读取行,然后分类。
发布于 2010-11-16 23:22:44
来自StringUtils的公朗有:
StringUtils.countMatches(string, searchedFor);发布于 2010-11-16 23:41:22
您可以使用正则表达式。代码的一个例子是:
public int count(String word, String line){
Pattern pattern = Pattern.compile(word);
Matcher matcher = pattern.matcher(line);
int counter = 0;
while (matcher.find())
counter++;
return counter;
}发布于 2010-11-16 23:23:00
第一次被空格分割(见String#split)
然后用地图将单词按频率作图。
String [] words = line.split(" ");
Map<String,Integer> frequency = new Map <String,Integer>();
for (String word:words){
Integer f = frequency.get(word);
frequency.put(word,f+1);
}然后,您就可以找到一个特定的单词:
frequency.get(word)https://stackoverflow.com/questions/4200033
复制相似问题