我有一个包含约30个单词和一组文章的停用词列表。
我想解析每篇文章并从中删除这些停用词。
我不确定最有效的方法是什么。
例如,我可以遍历停止列表并替换文章中的单词(如果存在空白但是看起来不太好。)
由于
答案 0 :(得分:4)
java.util.Set
答案 1 :(得分:1)
替换单词效率低下。你最好的选择可能是逐字解析文章,并将每个单词复制到一个新的StringBuffer;除非它是一个禁用词,在这种情况下你可以复制你想要的任何东西。 StringBuffer在这里比String更有效。
如果只有三十个左右,如何存储停用词可能并不重要。套装可能是一个不错的选择。
答案 2 :(得分:0)
根据Sun Java Tutorials,您可以在正则表达式中使用与Perl兼容的\b
分隔符。如果你用它们包围这个单词,它只会匹配那个单词,无论是后面的还是带有标点字符或空格的前缀。
答案 3 :(得分:0)
从输入中读取一个单词,并将其复制到StringBuilder(或者将结果放在任何地方),当且仅当它不在停用词列表中时。如果你把停用词放到像HashTable这样的东西上,你就能更快地搜索它们。
编辑:oops,不知道我在想什么,但你想要一个集合,而不是HashTable(或任何其他字典)。