C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

テキストファイルから特定のキーワードを3行分表示させていきた


(過去ログ 139 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■81986 / inTopicNo.1)  テキストファイルから特定のキーワードを3行分表示させていきた
  
□投稿者/ 初心者中の初心者 (1回)-(2016/11/27(Sun) 18:37:31)

分類:[C#] 

プログラム初心者です。

C#でテキストファイルを読み込み、キーワードを探して、キーワードを含む3行のみ表示させるプログラムを作成している
途中です。
テキストを読み込むまではできたのですが、キーワードを見つけてキーワードを含む3行を表示させることができません。
キーワードはテキストボックスからの検索ではなく、ボタンを押してキーワードを含む3行を表示させたいと思っています。

・キーワードは2つ(◇受信、◇送信)
・キーワードを含む行には数字が入ってます。
・テキストファイルの中にはキーワードは何個もあるので、対象の行はすべて表示させたいです。


-----------------------------------------------------
例(受信、送信)
受信から3行分で数字も入ってます。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;

namespace test
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.Filter = "テキスト(*.txt,*.dat,*.html)|*.txt;*.log;*.dat;*.html|" + "All files(*.*)|*.*";
            if (openFileDialog1.ShowDialog() != DialogResult.OK)
            {
                return;
            }
            textBox1.Text = openFileDialog1.FileName;//ファイル名、パス取得
            using (var fin = openFileDialog1.OpenFile())
            {

                var buff = new byte[fin.Length];
                fin.Read(buff, 0, buff.Length);
                try
                {
                    var enc = Encoding.GetEncoding("shift_jis",
                        EncoderFallback.ExceptionFallback, DecoderFallback.
                        ExceptionFallback);

                    var text = enc.GetString(buff);
                    richTextBox1.Text = (text.Length > 0 &&
                        text[0] == '\ufeff') ? text.Substring(1) : text;

                }
                catch (DecoderFallbackException)
                {
                    richTextBox1.Text = Encoding.Default.
                        GetString(buff);
                }
            }
            using (var infile = new StreamReader(new FileStream
                (openFileDialog1.FileName, FileMode.Open, FileAccess.Read, FileShare.
                Read)))
            {
                var lines = new List<String>();
                for (;;)
                {
                    var line = infile.ReadLine();
                    if (line == null) break;
                    lines.Add(line);
                }
                richTextBox1.Lines = lines.ToArray();
                infile.Close();

            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
        }

引用返信 編集キー/
■81988 / inTopicNo.2)  Re[1]: テキストファイルから特定のキーワードを3行分表示させていきた
□投稿者/ 初心者中の初心者 (3回)-(2016/11/27(Sun) 18:43:06)
No81986 (初心者中の初心者 さん) に返信
間違いました。すみません。
#81987を見て下さい。
引用返信 編集キー/
■81989 / inTopicNo.3)  テキストファイルから特定のキーワードを3行分表示させていきた
□投稿者/ 初心者中の初心者 (4回)-(2016/11/27(Sun) 18:43:58)
2016/11/27(Sun) 18:46:43 編集(投稿者)

No81988 (初心者中の初心者 さん) に返信
> ■No81986 (初心者中の初心者 さん) に返信
> 間違いました。すみません。
> #81987を見て下さい。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -