2013-06-26 54 views
0

我在RTB中從主窗體的另一個窗體中加載了一個日誌文件。我想爲表單找一個'find'函數,這樣我就可以在整個日誌文件的文本框中找到關鍵字I key。然後,如果存在多個結果,我想將這些關鍵字存儲在列表中。從richtextbox中查找單詞或句子並將其添加到列表中C#

我已經相隔代碼整個日誌文件:

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); 
      } 
     } 

,但事先沒有結果

感謝。

回答

0

您是否嘗試過這個?:

string stringToSearch = "whatever"; 

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

請注意,我包括「ToLower將()」,因爲我知道你是想匹配,而無需關心帽。

這是比您使用的更快速的選項來找到匹配。但是,請記住,你打算做的事情是不可能的:你將文本框中的內容分解爲其組成元素,然後在每個內容中查找整個內容。例如:文本框有1 * safda * 32,將其分爲「1」,「safda」和「32」,然後打算在「safda」的「1」中找到「1 * safda * 32」等

我看到兩個選項:

  1. 創建與用戶的建議名單。也就是說,searching數組中的內容 或列表splitResult(不確定爲什麼您要創建此列表,只要它是重複)就是 。

  2. 爲用戶設置一個新的文本框以鍵入要搜索的術語。您可以使用我的代碼來運行此功能。

+0

好的,我想我明白了你的觀點 –

相關問題