2017-07-04 13 views
0

私はおそらくかなり簡単な質問ですが、私は新しいですが、私はグーグルからそれに対する答えを見つけられませんでした。アイデアは、テキストファイルからいくつかの単語を検索します。テキストファイルから単語を検索

private void button6_Click(object sender, EventArgs e) 
{ 
    DialogResult result = openFileDialog2.ShowDialog(); 
    if (result == DialogResult.OK) 
    { 
     string file = openFileDialog2.FileName; 
     try 
     { 
      string text = File.ReadAllText(file); 
     } 
     catch (IOException) 
     { 
     } 
    } 
} 

private void button5_Click(object sender, EventArgs e) 
{ 
    //Search from selected .txt file like: ("a"), ("b"), ("c") 
} 

私の英語が悪いので、うまくいけば、あなたも私を支援しようとするために、それと感謝を得る:):ここ

は、コードです!

+3

例外をキャッチして無視することは、常に悪い考えです。 –

+0

あなたは 'text'を空文字列以外にチェックしましたか?また 'catch'セクション内にブレークポイントを設定して、' ReadAllText() 'が例外をスローしていないことを確かめてください。 – LuckyLikey

+0

あなたの' openFileDialog2'メンバーをインスタンス化する方法はありますか? – LuckyLikey

答えて

0

テキストが存在するかどうかを確認する可能性は複数あります。

  • IndexOfとすると、文字列のstatrtインデックスを見つけることができます。 Contains
  • あなたは文字列がStartsWith/EndsWithでは別の文字列
  • である場合、文字列を別の文字列で終わる/起動するかどうかをチェックすることができますチェックすることができます。

だけtext値が別の方法で表示されるように、クラスのコンテキストにあることが必要であることを忘れないでください。

public class MyClass 
{ 
    private string LoadedText { get; } = string.Empty; 

    private void button6_Click(object sender, EventArgs e) 
    { 
     DialogResult result = openFileDialog2.ShowDialog(); 
     if (result == DialogResult.OK) 
     { 
      string file = openFileDialog2.FileName; 
      try 
      { 
       LoadedText = File.ReadAllText(file); 
      } 
      catch (IOException) 
      { 
       //TODO: error handling 
      } 
     } 
    } 

    private void button5_Click(object sender, EventArgs e) 
    { 
     // use `LoadedText` 
     //Search from selected .txt file like: ("a"), ("b"), ("c") 
    } 
} 
+0

ありがとうございました。 –

0

かなり簡単です。あなたは検索する時間がかかりませんでした。テキストファイルはとiterate through words巨大されていない場合

if(text.Contains("THE WORD YOU ARE SEARCHING FOR")) 
{ 
    ///TAKE ACTION 
} 

もう一つのアイデアは、Splitに単語へのテキストファイルです。これは、あなたが検索されたものへの前後の単語を見つけるのに役立ちます。

+0

エラー:現在のコンテキストで 'text'という名前が終了しません。 –

+0

'text'は、あなたのコードでそこで述べた変数名です。ファイル内に文字列テキストを含める必要があります。 –

+0

私はそれを得たが、どのように( "a"、 "b"、 "c")のような多くのものを検索することができますか? –

0

あなたは(あなたが行ったように)stringとして全体のテキストを読み、その単語のインデックスを取得するためにString.IndexOf()のいずれかを使用します(-1が見つからない場合)、またはそのためRegular Expressionsを使用することができます。

関連する問題