【问题标题】:Comparison between TXT filesTXT文件之间的比较
【发布时间】:2015-12-08 10:27:44
【问题描述】:

在 C# 中,我想制作数组列表并在其中存储 2 个文本文件。然后我想将另一个未知文件与列表中的文件进行比较,看看它是否与数组列表中的文件相同或相似。

第一个文件包含:

312 3151 421
231 756  124
141 512  257

第二个文件包含:

643 151  6231
1585 645  7346
8352 67554 2532
4134.123 1523.134 676.45

未知文件:

643 151  6231
532 511  1551 
5135 16875 6346 

我想比较两个文件并找到匹配的文件。我该怎么做?

【问题讨论】:

  • 使用 string.Contains() 方法怎么样?
  • 请定义类似的。
  • 请明确匹配条件,只有人才能给你你要找的答案。
  • 相似我的意思是未知 x y z 中的数字与包含 x y z 的另一个文件有多相似它一定不是所有数字都相似我想获得包含相同数字而不是所有数字的最佳匹配文件
  • 您需要精确定义“相似”。

标签: c# text arraylist compare


【解决方案1】:

假设您有 2 个文件(或数组)A 和 B 想要与 X 文件(或数组)进行比较。

一个简单算法的基础可以是:

  • 通过读取单行(或行)遍历 X 文件(或数组)
    • 对于这一行(或行):
      • 遍历 A 文件(或数组)并计算相似出现的次数
      • 遍历 B 文件(或数组)并统计相似出现的次数
  • 现在,有了每个文件(或数组)每行(或行)的匹配次数,您可以在 A 或 B 文件(或数组 (!))之间进行选择,例如,选择具有类似事件的最高次数。

【讨论】:

  • 是的,这就是我想要的,我该如何实现它?!!
  • @GeorgeAlbert : 真相就在那里
  • 但是我怎么不能在 c# 中实现它:S