百度360必应搜狗淘宝本站头条
当前位置:网站首页 > SEO教程 > 正文

文档关键字搜索工具 搜索文档里的关键字

gaoyangw 2024-10-26 09:56 21 浏览 0 评论

前面写了几篇关于文件流的文章,今天来写个简单的小工具,即:文档关键字的搜索工具;也是运用了文件流来读取并匹配关键字;

这东西吧,网上或许应该有很多,但是用的时候却总是找不到,找的时候也无从下手,有花大时间找的过程,自己都可以手动完成了...毕竟这东西也不是经常需要。

我这个也是因为前几天在工作中有这个需求,需要在本地的很多文件中寻找是否包含某些个关键字,并进行关键字替换。百度了两分钟,无果,就自己写了,这里发出来的版本稍微做了些人性化优化。

实现功能:

    • 对本地大量文本文件进行关键字搜索
    • 将搜索结果显示到页面上

开发环境:

开发工具: Visual Studio 2013

.NET Framework版本:4.5

关键代码:

 //数据源模型
 private class BindModel
 {
     public string FileName { get; set; }
     public string FilePath { get; set; }
     public string Keys { get; set; }
     public string Operate { get { return "打开目录"; } }
 } 

//搜索等待提示
  Font f = new Font("宋体", 14, FontStyle.Bold);
  Rectangle r = new Rectangle(dataGridView1.Width / 2 - 100, dataGridView1.Height / 2, 160, 20);
  dataGridView1.CreateGraphics().DrawString("正在检测,请稍等。。。", f, Brushes.Red, r);

  List<string> keys = txtKeys.Text.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries).ToList();
  DirectoryInfo di = new DirectoryInfo(txtFolder.Text);
  //查找所有符合条件的文档
  FileInfo[] fis = di.GetFiles(txtFile.Text, SearchOption.AllDirectories);

  BindingList<BindModel> listData = new BindingList<BindModel>();
  //循环查找
  foreach (FileInfo fi in fis)
  {
      using (StreamReader sr = new StreamReader(fi.FullName))
      {
          string text = sr.ReadToEnd();
          IEnumerable<string> list = keys.Where(s => cbCap.Checked ? text.ToLower().Contains(s.ToLower()) : text.Contains(s));
          if (list.Count() > 0)
          {
              BindModel model = new BindModel
              {
                  FileName = fi.Name,
                  FilePath = fi.FullName,
                  Keys = string.Join(",", list)
              };
              listData.Add(model);
          }

      }
  }
  //绑定数据到页面
  dataGridView1.DataSource = listData;

最终实现效果:


写程序这件事吧,要么是工作所需,要么是可以替代自己完成生活中的一些重复而又繁琐的事,学以致用,偶尔给自己一些小确幸;单纯地为了工作而成为一个实实在在的码农,没有了思想,没有了目标,着实无趣。

这里不允许放链接,我就直接把所有代码放到网盘了,下载下来可以直接运行;私信我发送:文档关键字搜索工具 获取链接地址,若是不需要看代码,可以直接在Debug文件夹中运行exe文件。

由简入繁,拿来即用

后续精彩,持续关注

相关推荐

惠程科技:控股子公司与字节跳动在游戏推广业务上有日常合作

e公司讯,惠程科技(002168)6月18日在互动平台称,公司控股子公司哆可梦与字节跳动在游戏推广业务上有日常合作。

借“免费网课”向学生推广网游?!这些平台回应了

#虎牙等平台借网课推广网游#在过去的这个假期里,上网课是学生们学习的主要方式,但也出现了不少未成年人在网课期间沉迷网游,甚至是高额网络消费的情况。记者调查发现,虎牙、斗鱼等网络平台利用免费提供的上网...

抖音最火的抖音游戏推广,你知道在哪里吗?

大家好,我是艳儿逗你笑。今天为大家带来抖音小游戏推广图文流程。首先打开抖音。点击图中标记的地方进入。接着点开我们的小程序。如图里面出现了游戏达人的图标,进入就行了,有的朋友第一次点开的话里面不会有游戏...

2025年最适合打金搬砖赚钱十大网络游戏排行榜(端游全新榜单)

玩游戏打金搬砖赚钱,这可能是一些年轻人的梦想。而想要真正实现打金搬砖就赚钱,在游戏的选择上就得下下功夫。因此,针对2025年最适合打金搬砖赚钱的网络游戏,本篇打金搬砖赚钱十大网络游戏排行榜(端游全新榜...

“和牌”即刷题!深圳一学校发明“化学麻将”闯关游戏 网友:建议全国推广

封面新闻记者邹阿江杨霁月近日,一段在深圳南山实验教育集团麒麟二中化学课堂上,学生围坐一起打“化学麻将”的视频在网络上迅速走红。视频中,学生们手持写有高锰酸钾、氯离子、加热条件等内容的牌,围坐在“麻...

关于游戏推广内容(游戏推广描述)

在如今竞争激烈的短视频平台上,想要成功推广游戏,吸引更多的观众,就需要掌握一些有效的方法。以下这四种游戏推广内容,能够让我们在众多的创作者中脱颖而出。...

中兴通讯:公司在小红书平台通过“中兴努比亚手机”“红魔游戏手机”等官方账号开展站内营销推广活动

证券日报网讯中兴通讯2月17日在互动平台回答投资者提问时表示,目前,公司在小红书平台通过“中兴努比亚手机”“红魔游戏手机”等官方账号开展站内营销推广活动。(编辑王雪儿)...

抖音又一低成本高收入的项目:抖音游戏达人推广

Hello大家好,欢迎来到「出海创业帮」,我是大海。我将用1000篇文章或视频来给大家分享各种视频和账号的赚钱套路。1、运营手段是什么?2、账号收益多少?今天分享的是《抖音又一低成本高收入的项目:...

百度OCPC效果不好怎么办?OCPC的7种出价经典玩法解析

文|木比白编辑|木兰百度搜索ocpc出价是现在的主流投放出价,ocpc是一把双刃剑,用好了效果会非常好,用的不好就会造成一些不必要的浪费。作为优化师的你,不管是否认同ocpc,但它已经逐步成为行业主流...

什么是竞价托管?竞价托管服务内容及费用

什么是竞价托管?竞价托管主要是指付费搜索竞价广告客户将竞价账户托管给第三方竞价托管公司进行管理,并由其对竞价账户进行账户优化、关键词选取、质量度优化、数据分析、效果提升等动态的管理过程,统称为竞价托管...

代理记账如何推广?(代理记账推广软文)

代理记账是指会计咨询、服务机构及其他组织等经批准设立从事会计代理记账业务的中介机构接受独立核算单位的委托,代替其办理记账、算账、报账业务的一种社会性会计服务活动。那么代理记账该如何进行推广呢?代理记账...

东莞米可详解:百度SEM竞价托管服务费为什么不按广告费比例抽佣?

如果百度SEM竞价托管公司是按广告费比例来抽取佣金,就意味着客户的广告费花得越多,竞价托管公司公司的收入也就越高。本来应当屏蔽掉的无效广告点击和恶意点击,出于竞价托管公司自身利益考虑,处理这些事情时也...

百付科技搜索竞价托管:智能优化提升 ROI 的终极方案

在企业追求“竞价效率最大化”的2025年,百付科技推出“百度竞价+DeepSeek竞价”双平台托管服务,通过智能算法、精准策略、实时优化,帮助企业降低竞价成本、提升转化效果,实现搜索...

代运营外包网络推广公司怎么选?(代运营公司和外包公司的区别)

代运营外包网络推广公司怎么选?在当今数字化时代,网络推广已经成为企业提升品牌知名度、扩大业务范围的重要手段。然而,很多企业由于缺乏专业人才和资源,无法独立完成网络推广任务。这时,选择一家合适的外包网络...

「天工大模型4.0」o1版和4o版正式上线天工APP和网页,免费使用

2025年1月6日,昆仑万维正式将「天工大模型4.0」o1版和4o版同步上线,并全量登陆天工网页和APP,人人免费可用。作为国内第一款中文逻辑推理能力的o1模型(Skyworko1),不仅包含上线即...

取消回复欢迎 发表评论: