delete same lines from text file by c#
如何删除file.txt中的相同行,但使用c_保留其中一行?
- 请再说一遍你的问题,我听不懂。
- 例如,我在文本文件中有五行,其中三行是"他要上学",我想删除两行并保留其中一行,但文本中分布的行是:这是一只他要上学的猫,我会拿我的书,他要上学,他要上学。
- 听起来像重复数据消除?你怎么知道你要保留哪一行?你只保留第一个实例吗?
- 是的,只留下第一个
逐行阅读。将该行添加到哈希集,然后add返回true,将该行打印到输出。
您的代码如下所示:
对于输入文件中的每一行。
如果当前行不相同作为前一行,将其写入输出文件。
将当前行设置为上一行。
这假设重复的行是相邻的。如果它们不相邻,则必须首先对文件进行排序。
有很多方法。一种可能是使用集合的某个版本。看看C集合?为此。
如果所有相同的行都在另一行之后,您可以迭代并查看行是否与最后一行匹配。如果是,就扔掉它。