0

メイン フォームとは別のフォームの RTB にログ ファイルをロードしました。ログファイル全体からテキストボックスに入力したキーワードを見つけることができるように、フォームの「検索」機能が必要です。複数の結果がある場合は、それらのキーワードをリストに保存したいと思います。

私はすでにログファイル全体をコードで分けています:

 char[] delimiters = new char[] { ' ', '\n', '\t', ',', '.', '[', ']', ':' };
        string[] searching = searchText.Split(delimiters);
        List<string> splitResult = new List<string>();
        List<string> searchResult = new List<string>();

        foreach (string s in searching)
        {
            splitResult.Add(s);
        } 

次に何をすればいいですか?何か案が?または、ファイルを開こうとしたときに実際にメモ帳のようなテキスト エディターを起動する方法はありますか?

私は試した

foreach (string s in splitResult)
        {
            if (splitResult.Contains(txtbox1.Text))
            {
                searchResult.Add(s);
            }
        }

しかし、結果はありません

前もって感謝します。

4

1 に答える 1

0

これを試しましたか?:

string stringToSearch = "whatever";

if (Array.IndexOf(searching, stringToSearch.ToLower()) > -1)
{
    //String found
}

「ToLower()」を含めたことに注意してください。これは、大文字を気にせずに一致が必要であることを理解しているためです。

これは、使用しているオプションよりもはるかに迅速に一致を見つけるためのオプションです。それにもかかわらず、意図したことは不可能であることに注意してください。テキストボックス内のコンテンツを構成要素に分割し、それぞれの要素でこのコンテンツ全体を探します。例: テキスト ボックスに 1*safda*32 があり、それを "1"、"safda"、"32" に分割し、"1" の "safda" に "1*safda*32" を配置しようとすると、等

2 つのオプションが表示されます。

  1. ユーザーへの提案を含むリストを作成します。つまり、配列searchingまたはリストの内容splitResultです (繰り返しである限り、なぜこのリストを作成するのかわかりません)。

  2. ユーザーが検索する用語を入力するための新しいテキスト ボックスを設定します。私のコードを使用して、この機能を実行できます。

于 2013-06-26T08:37:52.597 に答える