2010-05-24 72 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