在textBox3里输入关键字,button2按钮怎么实现查找,并把查找的前后10行的结果显示在textBox1里

问题描述

请大神支招,直接修改代码privatevoidbutton1_Click(objectsender,EventArgse){OpenFileDialogofdg=newOpenFileDialog();if(ofdg.ShowDialog(this)==System.Windows.Forms.DialogResult.OK){stringfile=ofdg.FileName;//得到选择的文件的完整路径//textBox1.Text=System.IO.File.ReadAllText(file,Encoding.Default);//把读出来的数据显示在textbox中if(ofdg.FileName!=""){this.textBox2.Text=ofdg.FileName;}}}privatevoidbutton2_Click(objectsender,EventArgse){try{varfile=this.textBox2.Text.Trim();varkeywords=this.textBox1.Text.Trim();//boolsearch=File.ReadAllLines(this.textBox2.Text.Trim()).Any(x=>x.Split(',')[0]==this.textBox1.Text.Trim());stringstrSource=this.textBox2.Text.Trim();stringstrKeyword=this.textBox1.Text.Trim();intindexFind=strSource.IndexOf(strKeyword);intindexStart;intindexLength;if(indexFind!=+1){if(indexFind>10){indexStart=indexFind-5;}else{indexStart=1;}if(indexFind+strKeyword.Length+10<strSource.Length){indexLength=indexFind+strKeyword.Length+10;//this.textBox1.Text="正在搜索"+strSource.Substring(indexStart,indexLength)+"...";Console.WriteLine(strSource);StreamReaderread=newStreamReader(strSource);StringAllText=read.ReadToEnd();this.textBox1.Text=AllText;read.Close();}else{//this.textBox1.Text="正在搜索"+strSource.Substring(indexStart);Console.WriteLine(strSource);StreamReaderread=newStreamReader(strSource);StringAllText=read.ReadToEnd();this.textBox1.Text=AllText;read.Close();//returnAllText.Contains(strKeyword);}}else{this.textBox1.Text="原文中没有匹配的结果!";}}catch(Exceptionex){MessageBox.Show(ex.Message);//returnfalse;}}

解决方案

解决方案二:
你是逻辑根本不对,这段逻辑并不复杂,我不会帮你改,只给你思考的方向读取文件=》indexof关键字=》没有就返回=》有就记录下来=》indexof关键字
解决方案三:
一直ReadLine就行了啊,先定义个Queue,这个是用来放你前10行记录的,判断当前读取到的行是否有关键字,没有的话,就将该行放入Queue中,因为你只要10条,那么你在放入后需要判断下是否超出了10行,超出的话,先进的部分移除,这样知道某行有关键字位置,然后就是再读10次取后10行(如果还有10行的话)

时间: 2024-08-17 02:27:37

在textBox3里输入关键字,button2按钮怎么实现查找,并把查找的前后10行的结果显示在textBox1里的相关文章

在textbox1里输入关键字,点击搜索按钮,如何把关键字的前后10行显示在textbox2里

问题描述 用OpenFileDialog选择一个log.log的文件,在textbox1里输入多个关键字,点击搜索按钮,搜索log.log里的信息,如何把关键字的前后10行显示在textbox2里另外多个关键字输入怎么实现搜索? 解决方案 解决方案二:用Files.GetAllLines读取解决方案三:引用1楼shingoscar的回复: 用Files.GetAllLines读取 请帖个代码看看,谢谢解决方案四:读取成集合对象List,根据linqwhere函数查询出一条数据,取数据索引inde

edittext-安卓程序,在Edittext里输入一个地址,然后直接httpdownload的代码

问题描述 安卓程序,在Edittext里输入一个地址,然后直接httpdownload的代码 就类似于迅雷的新建任务,在输入框中输入网址,然后点击一个按钮就可以下载这个输入地址里的东西 解决方案 看看这个对你有没有帮助http://blog.csdn.net/lgj1025/article/details/8440890

vb 串口发送16进制-Vb将文本框里输入的十进制数据按chr(13)分割,然后转换成&amp;amp;amp;h+16进制字符串形式

问题描述 Vb将文本框里输入的十进制数据按chr(13)分割,然后转换成&h+16进制字符串形式 例如文本框里输入253chr(13)255chr(13),要求输出结果书"&HFD" "&HFF",看了好多算法,但是还是没有研究出来. 我自己做的结果如下 Private Sub Text2_KeyPress(KeyAscii As Integer) Dim tmp() As String Dim aa As String * 1 Dim rd

文本框 代码创建布局-发送文本框里输入的内容

问题描述 发送文本框里输入的内容 我想点击按钮时发送文本框里的内容,将文本框里的内容显示到自己用代码写的布局里,以下是我写的代码: Time t=new Time(); t.setToNow(); int year=t.year; int month=t.month+1; int day=t.monthDay; int hour=t.hour; int minute=t.minute; tt=year+"-"+month+"-"+day+" "+

流泪求达人进来看看……添加联系人的界面如何去得到用户在文本框里输入的文字?

问题描述 已经头疼两天了--需求:在添加联系人的界面(com.android.contacts.ui.EditContactActivity)下,去得到用户在文本框里输入的名字,然后把输入的名字和电话本里现有的名字比较,如有重复,则提示用户.得到电话本里的联系人名字和号码很容易.头疼的来了!!--如何去得到用户在文本框里输入的文字?!?!?!按常理是类似于((EditText)findViewById(R.id.xxxxx)).getText().toString;可问题是我找了半天,找不到任何

Java里volatile关键字是什么意思_java

在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉. Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制. synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在多线程访问的时候,同一时刻只能有一个线程能够用 synchronized 修饰的方法 或者 代码块.

建站流程网:SEO优化之请输入关键字

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 请输入关键字.请输入关键词,据统计这两个关键字的搜索量每天有8万之多,虽然搜索量大,但大家都知道这是什么原因造成的,所以这种流量是垃圾流量,但就是这些垃圾流量也可以换来真金白银,因此,有许多站长就在做这些关键词了. 一.输入关键字(词)的引入 输入关键字(词),本是网站为增加用户体验,在搜索框里预先填入的提示信息.给不熟悉互联网应用的网友以提

如何删除Linux目录中含输入关键字的文件?

如何删除Linux目录中含输入关键字的文件? 我们可以借助find命令来实现: find /mnt/ebook/ -type f -exec grep "在此输入关键字" {} \; -print -exec rm {} \; 示例: find /data0/software/ -type f -exec grep "rlin" {} \; -print -exec rm {} \; 警告:因为有删除操作请小心使用,以免删除错误文件!

你幸福吗 请输入关键字 分析“请输入关键字”指数

这是一个神奇的时代,造就了一个神奇的搜索引擎,更造就了这一代神奇的人类.在互联网上随时都能发生一些意想不到的惊喜,只是惊喜时常有,今年特别多而已.2012话说是一个世界末日的一年,就冲着这一谣言,世界所有的人都突然惊醒了一样,各种神马,各种浮云,各种淫才,纷纷涌现.而特别是互联网世界,更是风起云涌的诞生.手机漫天飞,IPAD满地跑,苹果走老乔,掉漆也正常.所以2012很神奇,笔者的标题很扯淡,但不无道理,因为笔者是作者.2012你幸福吗?告诉大家笔者姓刘,名宇凡.而面对百度你又幸福吗?回答:请输