基本的に私が読み込んで表示するリッチテキストボックスにはテキストファイルがありますが、特定の単語のテキストを検索し、この単語を含むテキストの行全体を削除します。私は、単語が存在するかどうかを確認するためにテキストを検索することができますが、私は行全体を削除する方法を見つけることができません。どんな助けも素晴らしいだろう。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どうすれば複数の単語を書くことができますか?これは私にとっては完璧に機能しました..しかし、一言で言えば、私はもっと3つの単語を探す必要があります。 –
1
コードなしで簡単にそれを行うことができます:
"using System.Linq;"必要とされている。
場合、条件が満たされた場合にはfalseを返しますforループザ・.Where(n => n.IsNotAnyOf(...))...();
から(すなわち、それが呼ばれる)独自の拡張メソッドIsNotAnyOf(,)
(静的クラスに入れて)を書くと方法を呼び出しますメソッドが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. Notepad ++ Regex単語を含む単語を含む行を検索します。
- 2. MapReduceで特定の単語を含む文全体を削除します
- 3. MongoDBテキスト検索と複数の単語を含む単語の検索
- 4. 特定の単語を含む行を検索し、各単語の数を返す方法は?
- 5. テキストファイルのフレーズを検索し、C#で次の単語を読む
- 6. ファイル内の単語を検索し、その単語を含む行を次の行と交換する方法
- 7. sedを含む行の重複単語を削除します
- 8. レジストリ内の特定の単語を検索し、キーを削除します
- 9. 停止単語を含む単語を削除するtm_map?
- 10. 特定の単語preg_matchとregexを含む行を削除する
- 11. bashのテキストファイルから特定の単語を削除する
- 12. テキストファイルで特定の単語を検索するには
- 13. テキスト内の単語を検索して、最も一致したバリアントを含むテキストを検索します。
- 14. 単語のテキストファイルを検索する
- 15. regexは1つの単語を含むファイルを検索しますが、別の単語は含まない
- 16. 特定の単語を含むセルを検索し、その隣の値をExcelで呼び出せますか?
- 17. C#Windowsアプリケーションのテキストファイルから特定の単語を読む
- 18. テキストファイルから1行の単語を検索するときに、特定の単語が表示されない
- 19. 特定の単語を含む文字列の内容を削除する
- 20. テキストファイル内の単語の頻度を行単位で検索するC++
- 21. テキストファイル内の単語を検索し、その頻度を返します
- 22. 行が特定の単語で始まる場合にのみ一致する単語を削除します。
- 23. 同じ最初の単語を含む行を削除します。
- 24. C++全体の単語を検索して置換する
- 25. mysqlのテキスト内の単語を検索
- 26. ファイルから特定の単語を削除します。
- 27. 特定の単語を含むsed行へのスクリプト
- 28. Spark Count特定の単語を含む行の数
- 29. テキスト後方に綴られたときに別の単語を含む単語を検索する
- 30. 特定のテキストを含むファイルを検索し、そのテキストを削除します
ああ、完璧な意味で、私はちょうど私のコードでそれを使用しています:)ありがとう非常にありがとう! – user1364063