比较两个文本时如何查找不相似的行

时间:2019-02-05 11:14:35

标签: java

我有一个列表,其中包含不同文本的元素,例如:

第一个元素txt1是以下文本:

Analysis of coverage
Better algorithm
Strategy of random search

第二个元素txt2是以下文本:

Analysis of coverage
Better algorithm
Master process
Strategy of genetic search

第三元素txt3是以下文本:

Analysis of coverage
Better algorithm
Master process
Strategy of genetic search

我想要的是将每个元素与上一个元素进行比较,并检测出任何差异。在上述情况下,我想将txt1txt2进行比较,并返回以下不同的行:

Master process
Strategy of genetic search

但是在比较txt2txt3时,根本没有区别。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

免责声明:由于当前的问题表明没有尝试解决问题,因此不想为您提供特定的代码。

我会尝试:

  1. 从列表中读取元素的内容并转换为单个字符串。
  2. 用换行符String.split("\\r?\\n")分隔字符串内容。本质上,您希望每个元素中都有一个句子列表。如果需要,您还可以修剪空格的每个句子:String.split("\\s*\\r?\\n\\s*")
  3. 比较两个列表并检索差异。您可以通过多种方式执行此操作,例如:在两个列表之间进行迭代并记录差异,或使用ArrayList.removeAll()(即,从另一个列表中删除一个列表的所有内容并查看更改)。祝你好运!