基本上我有一個文本文件,我閱讀並顯示在一個豐富的文本框中,這很好,但我希望能夠搜索特定單詞的文本並刪除包含此單詞的整行文本。我可以搜索文本來查看單詞是否存在,但我無法弄清楚如何刪除整行。任何幫助都會很棒。C#文本文件搜索特定單詞並刪除包含該單詞的整行文本
6
A
回答
14
最簡單的方法是重寫整個文件,而不用包含該單詞的行。您可以使用LINQ
爲:
var oldLines = System.IO.File.ReadAllLines(path);
var newLines = oldLines.Where(line => !line.Contains(wordToDelete));
System.IO.File.WriteAllLines(path, newLines);
如果你只是想刪除包含字(字符不僅序列)的所有行,你需要' '
分割線:
var newLines = oldLines.Select(line => new {
Line = line,
Words = line.Split(' ')
})
.Where(lineInfo => !lineInfo.Words.Contains(wordToDelete))
.Select(lineInfo => lineInfo.Line);
4
您可以輕鬆地做到這一點,而不LINK
string search_text = text;
string old;
string n="";
StreamReader sr = File.OpenText(FileName);
while ((old = sr.ReadLine()) != null)
{
if (!old.Contains(search_text))
{
n += old+Environment.NewLine;
}
}
sr.Close();
File.WriteAllText(FileName, n);
+0
@mMd Kamruzzaman Pallob我怎麼能爲多個詞..這對我完全工作..但對於一個單詞..我需要尋找三個字..我怎麼能做到這一點..謝謝 – 2014-11-03 18:31:51
1
代碼:
「using System.Linq;」是必須的。
寫自己的擴展方法IsNotAnyOf(,)
(把它放在一個靜態類)和.Where(n => n.IsNotAnyOf(...))...();
的調用方法(即它被稱爲) for循環,如果條件得到滿足將返回false,如果不是該方法將返回true:
static void aMethod()
{
string[] wordsToDelete = { "aa", "bb" };
string[] Lines = System.IO.File.ReadAllLines(TextFilePath)
.Where(n => n.IsNotAnyOf(wordsToDelete)).ToArray();
IO.File.WriteAllLines(TextFilePath, Lines);
}
static private bool IsNotAnyOf(this string n, string[] wordsToDelete)
{ for (int ct = 0; ct < wordsToDelete.Length; ct++)
if (n == wordsToDelete[ct]) return false;
return true;
}
相關問題
- 1. 如何在文本文件中查找單詞並刪除包含該單詞和接下來兩行的行?
- 2. 單詞的搜索文本文件cont
- 3. C#搜索文本文件,返回包含單詞的所有行
- 4. 在文本文件中搜索單詞
- 5. 在Matlab中搜索文本文件中的特定單詞
- 6. 如何在Python中搜索特定單詞的文本文件
- 7. 的Python:從文本文件過濾線,包含特定單詞
- 8. 通過批量刪除文本文件中的特定單詞
- 9. 在文本文件中搜索特定單詞
- 10. 刪除文件中的特定單詞
- 11. 搜索包含關鍵字的兩個單詞之間的文本文件行
- 12. 刪除包含特定單詞的列
- 13. 從文本文件中刪除包含特定文本的行
- 14. php用於在特定單詞中搜索文本文檔
- 15. 搜索文本文件中的單詞並返回其頻率
- 16. Bash腳本 - 如何從文本文件中刪除行/單詞?
- 17. 刪除包含特定單詞
- 18. 刪除文件名中包含特定單詞的所有文件
- 19. 搜索/突出顯示單詞文檔中的特定單詞
- 20. 單詞開頭的搜索文本
- 21. 如何搜索給定單詞的字謎文本文件
- 22. 如何讀取行中特定單詞的文本文件並將整行寫入另一個文本文件?
- 23. c#代碼刪除文本文件中的重複單詞
- 24. 刪除文本框中的空格但不包含單詞之間的文本
- 25. 如何搜索文本文檔中的單詞並顯示該行?
- 26. 如何擴展選定的文本以包含整個單詞
- 27. 如何刪除單詞前的文本?
- 28. 如何從包含某些字母的Python文本文件中刪除單詞?
- 29. MySQL - 在文本字段中搜索單詞,顯示整行?
- 30. 由線搜索比較/搜索文本文件行特定的詞
啊是的,這是完全有道理的,我剛剛在我的代碼中使用它,它已經工作:) Thankyou非常多! – user1364063 2012-04-29 12:03:28