我需要删除包含很多段落的文本中的重复段落。
我使用类 java.security.MessageDigest
中的函数来计算每个段落的 MD5 哈希值,然后将这些哈希值添加到一个 Set
中。
如果 add()
成功,则表示最新的段落是重复的。
这种方式有没有风险?
除了String.equals()
,还有其他方法吗?
最佳答案
在散列之前,您可以规范化段落,例如删除标点符号,转换为小写并删除额外的空格。 归一化后,仅存在差异的段落将获得相同的哈希值。
关于java - 如何比较两段文字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15382347/