截图字符串问题

问题描述

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

时间: 2024-09-30 07:55:13

截图字符串问题的相关文章

周末大放送网站图片上传,水印,预览,截图

    周末闲着没事,将网站中经常用到的对图片的操作做了一个总结,方便以后回顾,这里将一天的成果,贴出来,希望能帮到大家.     首先是swfupload方式的无刷新上传,关于怎么配置,按照demo 的写法,我相信只要你不是太笨,都能成功.     关于swfupload你可以去网上下,也可以点这里下载:SWFUpload_v250_beta_3_samples.rar    项目结构:               上传代码: 前台上传页面,你可以根据需要建html页,也可以建webform.

C#从视频截图的方法

前公司在制作播客系统(Web程序)中,用到从视频截图功能. 下边是截图CatchImg方法,可从大多数的视频文件中截图成功,大家可测试;如果截图不成功,大多是因为视频本身的问题,如编码标准或加了密.但从在线录制的视频Flv文件中截图,还未发现截图失败; /// <summary>/// @从视频文件截图,生成在视频文件所在文件夹/// 在Web.Config 中需要两个前置配置项:/// 1.ffmpeg.exe文件的路径/// <add key="ffmpeg" v

QQ静态截图完善实现之改造CRectTracker类

由于前次写的代码过于仓促(相关文章参见:"QQ 静态截图程序模拟实现"),还没仔细修改就投稿了,在这里向大家表示道歉,可能你觉得这种程序不值的一看,但我本着精益求精的态度,还是把它完善了一下,更重要的是深入了解CRectTracer类的内部机制,以能更灵活和使用该类 ,在此我把MFC的CRectTracker类源码,提取出来做了小小的改造,有兴趣的朋友还可能更深入的增加更 多的功能. 本文主要讲述三个问题: 程序中操作提示窗口文本更新闪烁问题: 程序在调整截取矩形大小和位置时,主窗口收

解析带有函数的字符串

问题描述 怎样解析带有函数的字符串比如:abs(abs(1)+2*(1+3)) 解决方案 解决方案二:你想要什么结果?解决方案三:引用楼主libo19872011的回复: 怎样解析带有函数的字符串比如:abs(abs(1)+2*(1+3)) 用c#动态编译吧..解决方案四:我实在datatable上进行操作的.就是在列之间进行的运算.比如:第二列值=abs(第一列)+2*(第二列值)之类的解决方案五:楼主搞编译原理吗?解决方案六:不是的啊,不知道这样功能怎样实现啊解决方案七:引用5楼libo19

T-SQL字符串相加之后被截断的那点事

原文:T-SQL字符串相加之后被截断的那点事     本文出处:http://www.cnblogs.com/wy123/p/6217772.html    字符串自身相加, 虽然赋值给了varchar(max)类型的变量,在某些特殊情况下仍然会被"截断",这到底是varchar(max)长度的问题还是操作的问题?   1,两个不超过8000长度的字符串自身相加,其结果长度超过8000之后会被截断: 不多说,直接上例子:定义一个字符串,赋值给 varchar(max)类型的变了,字符创

图片-c# 截图并传到数据库 但错误找不到文件

问题描述 c# 截图并传到数据库 但错误找不到文件 1C 如下图程序 我运行到这里时可以截图 并且能够保存早debug中 但当我调试到吧图片转换为二进制流是就出错错误是找不到这个问件 但我去debug 中看是有这个文件的啊 private void buttonSnap_Click(object sender EventArgs e) { if(textBoxSnapAddrs.Text != null) { camera.snapPath = textBoxSnapAddrs.Text + @

通过内存分析工具来证明字符串驻留机制

在这之前我写过一些文章来介绍关于字符串内存分配和驻留的文章,涉及到的观点主要有:字符串的驻留机制避免了对具有相同字符序列的字符串对象的重复创建:被驻留的字符串是不受GC管辖的,即被驻留的字符串对象不能被GC回收:被驻留的字符串是被同一进程中所有应用程序域共享的.至于具体的原因,相信在<关于CLR内存管理一些深层次的讨论>中,你可以找到答案.由于这些天来在做一些关于内存泄露审查的工作,所以想通过具体的Memory Profiling工具来为你证实上面的结论.我采用的Memory Profilin

Win 8.1截图透露一些新功能

昨日晚间,微软在其官方博客中终于晒出了Win 8.1截图并透露了这一系统的的一些新功能,其中包括Bing团队为大家带来的新的搜索体验.     在Bing官方博客中,微软负责Bing项目的副总裁戴里克·康奈尔(Derrick Connell)写道:"在Windows 8.1中,我们的目标是向你提供一种新的搜索体验--无论在PC的任何地方,无论是任何信息--本地的文档.云端的相册.一个应用.一个网站或是PC设置,你都只需要轻轻一点就能找到你想要的."     根据康奈尔所述,微软Win8

SQL点滴3—一个简单的字符串分割函数

原文:SQL点滴3-一个简单的字符串分割函数 偶然在电脑里看到以前保存的这个函数,是将一个单独字符串切分成一组字符串,这里分隔符是英文逗号","  遇到其他情况只要稍加修改就好了 CREATE FUNCTION dbo.f_splitstr(     @str varchar(8000))RETURNS @r TABLE(id int IDENTITY(1, 1), value varchar(5000))ASBEGIN /* Function body */    DECLARE @