特定の文字列を見つけて、その文字列がテキストファイルに何行下にあるかを表示する方法を理解しようとしています。
たとえば、テキストファイルで「I'm a string」という文字列を検索しようとしている場合、その文字列の場所(下の行のように)も変数に記録されているとします。
誰かがこれを達成するためのヒントもありますか?
ありがとう
まず、ファイルを読み込んでから、各行をループしてテキストを検索します。何かのようなもの...
string[] lines = System.IO.File.ReadAllLines(@"C:\file.txt");
int count = 0;
foreach (string line in lines)
{
count++;
if (line.indexOf("I'm a string") > -1) {
// found it
}
}
これはHWの質問のように見えるので、完全な解決策を投稿するのではなく、ポインタとガイドラインのみを投稿します。
基本的に、テキストファイル全体を文字ごとにスキャンし、次のn文字を読み取ります。nは検索文字列の長さです。そのセットが検索文字列と一致する場合、あなたはあなたの答えを持っています。遭遇する「\n」の数は、通過しなければならなかった行の数です。
より単純な正規表現ソリューションもあります。それらを見てみてください。
ReadAllLinesよりも優れています:
public static IEnumerable<string> ReadLines(string path)