2013-06-26 24 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

好的,我想我明白了你的观点 –

相关问题