C# 从richtextbox中查找单词或句子并添加到列表C中#

C# 从richtextbox中查找单词或句子并添加到列表C中#,c#,visual-studio-2010,richtextbox,C#,Visual Studio 2010,Richtextbox,我在RTB中加载了一个日志文件,它位于主窗体的另一个窗体上。我想为表单提供一个“find”函数,这样我就可以在整个日志文件的文本框中找到我输入的关键字。然后,如果有多个结果,我想将这些关键字存储在一个列表中 我已经用代码分隔了整个日志文件: char[] delimiters = new char[] { ' ', '\n', '\t', ',', '.', '[', ']', ':' }; string[] searching = searchText.Split(delim

我在RTB中加载了一个日志文件,它位于主窗体的另一个窗体上。我想为表单提供一个“find”函数,这样我就可以在整个日志文件的文本框中找到我输入的关键字。然后,如果有多个结果,我想将这些关键字存储在一个列表中

我已经用代码分隔了整个日志文件:

 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);
        } 
但没有结果

提前谢谢。

您试过这个吗?:

string stringToSearch = "whatever";

if (Array.IndexOf(searching, stringToSearch.ToLower()) > -1)
{
    //String found
}
请注意,我之所以包含“ToLower()”,是因为我知道您希望匹配,而不必关心大写字母

这是一个比您正在使用的查找匹配项快得多的选项。尽管如此,请记住,您打算做的是不可能的:您将文本框中的内容划分为其组成元素,然后在每个元素中查找整个内容。例如:文本框有1*safda*32,您将其分为“1”、“safda”和“32”,然后您打算在“1”中定位“1*safda*32”,在“safda”中定位,等等

我看到两种选择:

  • 为用户创建包含建议的列表。就是内容 在数组
    搜索中
    或在列表
    拆分结果中
    (不确定为什么会 创建此列表(只要是重复)

  • 为用户设置新文本框以键入要搜索的术语。您可以使用我的代码来运行此功能

  • string stringToSearch = "whatever";
    
    if (Array.IndexOf(searching, stringToSearch.ToLower()) > -1)
    {
        //String found
    }