- 題名: 複数行の文字列から検索するには?
- 日時: 2009/07/08 22:33:07
- ID: 24918
- この記事の返信元:
- (なし)
- この記事への返信:
- [24920] Re[1]: 複数行の文字列から検索するには?2009/07/08 23:10:58
- [24923] Re[1]: 複数行の文字列から検索するには?2009/07/09 9:35:25
- ツリーを表示
■No24918に返信(Axolotlさんの記事) > ReadAllLinesで読み込んだ多数行にわたる文字列があります。 > その文字列の「奇数行目」の中から特定の文字列を検索し、 > マッチした「奇数行目」の次の「偶数行目」を返すのはどうやるのでしょうか? たとえば、こうかな。 private void button1_Click(object sender, EventArgs e) { string keyword /* = "なえた" */; keyword = textBox1.Text; string[] lines /* = { "あのさー。", "なんだ?", "なえたんだが", "よかったな。", } */; lines = File.ReadAllLines(@"C:\test.txt", Encoding.GetEncoding("Shift_JIS")); // 確認のため、元データを表示 listBox1.DataSource = lines; // 抽出 string[] result = new List<string>(Filter(lines, keyword)).ToArray(); // 確認のため、抽出結果を表示 listBox2.DataSource = result; } IEnumerable<string> Filter(string[] lines, string keyword) { for (int n = 1; n < lines.Length; n += 2) { if (lines[n - 1].Contains(keyword)) yield return lines[n]; } }
分類:[.NET]
2009/07/08(Wed) 22:34:18 編集(投稿者)