C# 从richtextbox中查找单词或句子并添加到列表C中#
我在RTB中加载了一个日志文件,它位于主窗体的另一个窗体上。我想为表单提供一个“find”函数,这样我就可以在整个日志文件的文本框中找到我输入的关键字。然后,如果有多个结果,我想将这些关键字存储在一个列表中 我已经用代码分隔了整个日志文件: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
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
}