2010-05-24 34 views
0

如何删除文件.txt中的相同行但保留其中一个使用c#?c从文本文件中删除相同的行#

+0

请重新提出您的问题,我无法理解> _ <对不起。 – Warty 2010-05-24 00:08:13

+0

例如我有5行文本文件中他们三个是“他要去学校” 我想删除两个,但保留其中的一条,但分布在文本中的行 如: 这是一个猫 他要去学校 我会拿我的书 他要去学校 他要去学校 – kartal 2010-05-24 00:12:26

+0

听起来像一个重复数据删除?你怎么知道你想保留哪一行?你只是保持第一个例子吗? – 2010-05-25 09:17:40

回答

10

逐行阅读。将该行添加到HashSet,并且Add返回true,将该行打印到输出。

0

有很多方法。人们可以使用Set的某个版本。请看C# Set collection?

如果所有相同的行彼此相连,则可以遍历并查看该行是否与最后一行匹配。如果是的话,丢弃它。

0

您的代码将是这个样子:

  1. 对于输入文件中的每一行。
  2. 如果当前行与前一行不一样 ,则将其写入 的输出文件。
  3. 设置当前行等于 上一行。

这假定重复的行是相邻的。如果它们不相邻,则必须先对文件进行排序。

+0

该OP在评论中澄清说,他们不相邻。 – 2010-05-24 00:39:08