问题描述
richTextBox1是读取一个文件夹里面所有的字符,我想输入53225181152808FD就找出152800065A04。像这样的数据有几千条在里面。我知道这个把文件夹里面的数据全部放到richTextBox1里面的方法确实很笨,思路就不对。还请大牛教教@starfd上次你写给我的代码,只是把所有Key的相对应的值给读出来了,可能是我表达能力太差了,没说出我最终要实现什么。。richTextBox1里面有很多5322XXX的字符串,空格后面都对应一个值。在txtbox里面输入53225181152808FD找到的是richTGextBox1里面的第一个值。privatevoidbutton2_Click_1(objectsender,EventArgse){Dictionary<string,string>dic=newDictionary<string,string>();Func<string,string>func=(str)=>{returnRegex.Replace(str,@"[/.]",string.Empty);};foreach(MatchminRegex.Matches(this.richTextBox1.Text,@"(d{4}/[0-9a-zA-Z]{2}(?:.[0-9a-zA-Z]{2}){5})s+(b[0-9a-zA-Z]{2}(?:.[0-9a-zA-Z]{2}){5})")){////varkey=func(m.Groups[1].Value);varkey=this.textBox1.Text;if(!dic.ContainsKey(key)){MessageBox.Show(key+"的值是:"+func(m.Groups[2].Value));}}}
解决方案
解决方案二:
这个dictionary设置在外面作为全局变量,然后在Load事件里面执行正则读取txt来填充Dictionary,然后你的click事件里面就简单了,只要下面一段了varkey=txt.Text;//这是你的输入框的值if(!dic.ContainsKey(key)){MessageBox.Show(key+"的值是:"+dic[key]);}
解决方案三:
引用1楼starfd的回复:
这个dictionary设置在外面作为全局变量,然后在Load事件里面执行正则读取txt来填充Dictionary,然后你的click事件里面就简单了,只要下面一段了varkey=txt.Text;//这是你的输入框的值if(!dic.ContainsKey(key)){MessageBox.Show(key+"的值是:"+dic[key]);}
我还没动Load事件里面怎么填充Dictionary?程序启动,richTextBox1还没数据。。这个Load要怎么写?usingSystem;usingSystem.IO;usingSystem.Data.SqlClient;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Data.OleDb;usingSystem.Text.RegularExpressions;namespaceWindowsFormsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}publicDictionary<string,string>dic=newDictionary<string,string>();privatevoidForm1_Load(objectsender,EventArgse){Func<string,string>func=(str)=>{returnRegex.Replace(str,@"[/.]",string.Empty);};foreach(MatchminRegex.Matches(this.richTextBox1.Text,@"(d{4}/[0-9a-zA-Z]{2}(?:.[0-9a-zA-Z]{2}){5})s+(b[0-9a-zA-Z]{2}(?:.[0-9a-zA-Z]{2}){5})")){}}privatevoidbutton2_Click_1(objectsender,EventArgse){varkey=this.textBox1.Text;if(!dic.ContainsKey(key)){MessageBox.Show(key+"的值是:"+dic[key]);}}}}}