検索テキストファイルをc#に表示行数の全ラインが含まれる検索キーワード
-
19-09-2019 - |
質問
私を必要とす検索のテキストファイル(ログファイル)をc#に表示行数の全ラインが含まれる検索キーワードとなります。
解決
これは、若干の修正があるから/msdn.microsoft.com/en-us/library/aa287535%28VS.71%29.aspxする
int counter = 0;
string line;
// Read the file and display it line by line.
System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt");
while((line = file.ReadLine()) != null)
{
if ( line.Contains("word") )
{
Console.WriteLine (counter.ToString() + ": " + line);
}
counter++;
}
file.Close();
他のヒント
ッシュのゲームのことが起こったことの思いを追加する代替の答えです。
foreach (var match in File.ReadLines(@"c:\LogFile.txt")
.Select((text, index) => new { text, lineNumber = index+ 1 })
.Where(x => x.text.Contains("SEARCHWORD")))
{
Console.WriteLine("{0}: {1}", match.lineNumber, match.text);
}
この応用が期待されています。
ファイルです。ReadLines, は、必要と
StreamReader
, でももLINQのWhere
条項を返すフィルタラインのセットからファイルです。過負荷の Enumerable.選択 を返す各要素のインデックスで追加し1に、行番号のマッチング。
サンプル入力:
just a sample line
another sample line
first matching SEARCHWORD line
not a match
...here's aSEARCHWORDmatch
SEARCHWORD123
asdfasdfasdf
出力:
3: first matching SEARCHWORD line
5: ...here's aSEARCHWORDmatch
6: SEARCHWORD123
エクスポートするには悲観論者が書いたようにあなたは、CSVファイル形式を使用することができますExcelを行います。あなたは何を書くことについて不明な点がある場合は、MS Excelで一部のデータを入力しようとすると、メニューのオプション「別名で保存」をクリックし、ファイルの種類としてCSVを選択します。
CSVファイル形式を書き込むときの値を分離するためのデフォルトはカンマではありませんいくつかの言語のように注意してください。ブラジルポルトガル語、例えば、デフォルトの値を分離するための何千ものセパレータ及びセミコロンとして小数点、ドットとしてカンマです。それを書いたときに文化を気にしています。
他の代替は、セパレータとして、水平タブを使用しています。実験は、文字列を書くために、Tabキー、その後、別の文字列を押すとMicrosoft Excelに貼り付けます。これは、そのプログラムのデフォルトの区切りです。
あなたはあなたの特定の問題へのアドホックソリューションを使用している場合は、どちらかの選択肢はあまり考えずに使用することができます。あなたが(または他の環境では)他の者が使用するものをプログラミングしている場合は、文化固有の違いを気にしています。
ああ、私はちょうど今思い出しました:あなたが唯一の.NETパッケージでそれを行うことができ、XMLを使用してスプレッドシートを書くことができます。私はC#.NET 2.0
で年前ということをやりました