簡體   English   中英

從RichTextBox中查找單詞或句子,然后添加到列表C#中

[英]Find words or sentence from a richtextbox and add into a list C#

我有一個加載到RTB中的日志文件,它是主表單中的另一種表單。 我希望表單具有“查找”功能,這樣我就可以從整個日志文件中的文本框中找到關鍵字I。 然后,如果有多個結果,我想將這些關鍵字存儲在列表中。

我已經用代碼分隔了整個日志文件:

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

但沒有結果

提前致謝。

您嘗試過嗎?:

string stringToSearch = "whatever";

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

請注意,我加入了“ ToLower()”,因為我知道您想要一場比賽而無需大寫。

這是比您正在使用的查找匹配項更快的選擇。 但是,請記住,您打算做的事情是不可能的:您將文本框中的內容划分為其組成元素,然后在每個元素中查找全部內容。 例如:文本框具有1 * safda * 32,將其分為“ 1”,“ safda”和“ 32”,然后打算在“ 1”中的“ safda”中找到“ 1 * safda * 32”,等等

我看到兩個選擇:

  1. 創建包含用戶建議的列表。 也就是說,數組searching的內容或列表splitResult (不知道為什么要創建此列表,因為它是重復的)。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM