java - 如何从文档文本中过滤常用词? ( HashMap )

标签 java hashmap hashset

感谢您的阅读。我目前有一个我非常坚持的学校项目。目的是从网络上检索文档文本,然后将每个单词存储到 map 对象中,同时省略常用单词,例如“which、about、during、after”等。

本质上可以归结为:

//要忽略的单词列表

    Set<String> ignore = new HashSet<>(Arrays.asList(new String[]{
  "after", "which", "later", "other", "during", "their", "about"}));

//将遍历文档文本(内容)以查找附着的单词 到 word_pattern(为了简单起见,假设单词有 5 个或更多字母)

Matcher match = Pattern.compile(word_pattern).matcher(content);
while (match.find()) {
   String word = match.group().toLowerCase();

所以现在在这个 while 循环中,我希望跳过忽略集中的任何单词,否则将其添加到 map 对象中......但我似乎无法正确执行,似乎没有任何内容适合我。我可以轻松地将所有单词添加到 map 对象中并扣除一些分数,但我希望能够为了我的理智而正确地做到这一点。

最佳答案

您的忽略单词列表是 Set提供 contains方法让你 可以简单地在循环中添加这个条件:

if(!ignore.contains(word))
{
    //addToList
}

关于java - 如何从文档文本中过滤常用词? ( HashMap ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29689055/

相关文章:

Java 有序可哈希集合

java - HashSet 迭代器检查字母

Java声明变量

java - "Location is required"加载FXML文件时出现异常

haskell - 如何使用Haskell的 `HashMap`?

java - 找不到符号 - HashMap .replace() 方法

rust - 通过查找自身中的键来替换HashSet值

java - 在我的应用程序中显示表查询

Java继承错误

java - 如何将一行中的元素解析到不同的哈希表中?