模糊搜索小案例

C#窗体实现数据录入与模糊搜索小案例

记录一下

主要代码

  private void button1_Click(object sender, EventArgs e)
        {
            string name = textBox1.Text;
            string hometown = textBox4.Text;
            string school = textBox6.Text;
            string sex = textBox5.Text;
            string lat = textBox3.Text;
            string log = textBox2.Text;
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                string[] lines = File.ReadAllLines(saveFileDialog1.FileName, Encoding.UTF8); // 如果你需要逐行搜索
                string str=String.Join("\n",lines);
                str += "\n" + name + "," + sex + "," + hometown + "," + school + "," + lat + "," + log + "\n";
                StreamWriter sw = new StreamWriter(saveFileDialog1.FileName);
                sw.Write(str);
                sw.Close();
                
                MessageBox.Show("保存成功!!!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            string str=textBox7.Text;
            string searchTerm = str; // 正则表达式示例,这里仅匹配独立的“关键字”
            Regex regex = new Regex(searchTerm, RegexOptions.IgnoreCase);
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
     
                string[] lines = File.ReadAllLines(openFileDialog1.FileName, Encoding.UTF8); // 如果你需要逐行搜索
                foreach (var line in lines)
                {
                    Match match = regex.Match(line);
                    if (match.Success)
                    {
                        richTextBox1.Text = line+"\n";
                        MessageBox.Show("找到啦", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }

实现思路:
1.数据录入
取textbox数据,打开存储文件,读取数据,添加一行数据,再重新存储数据
2.模糊搜索
正则表达式简单使用,读取数据,使用正则表达式匹配,打印数据

另一种模糊搜索思路:读取数据,建立倒排序索引,建立一个字典,键为单词,值为行索引

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/426901.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Git】深入理解 Git 分支合并操作:git merge dev 命令详解

深入理解 Git 合并操作:git merge dev 命令详解 摘要:本文将深入探讨 Git 中的合并操作,以及如何使用 git merge dev 命令将dev 分支的修改合并到当前分支(假设当前分支为main 分支)中。通过详细的解释和示意图&#x…

A Brief Introduction of the Violin Plot and Box Plot

DateAuthorVersionNote2024.03.03Dog TaoV1.0Release the note. 文章目录 A Brief Introduction of the Violin Plot and Box PlotBox PlotViolin PlotHistogram with Error BarComparisonExample 1Example 2 A Brief Introduction of the Violin Plot and Box Plot Box Plot …

java-幂等性

幂等性 1.1幂等性定义: 在计算机领域中,幂等(Idempotence)是指任意一个操作的多次执行总是能获得相同的结果,不会对系统状态产生额外影响。在Java后端开发中,幂等性的实现通常通过确保方法或服务调用的结…

智慧城市中的数字孪生:数字孪生技术助力智慧城市提高公共服务水平

目录 一、引言 二、数字孪生技术概述 三、数字孪生技术在智慧城市中的应用 1、智慧交通管理 2、智慧能源管理 3、智慧环保管理 4、智慧公共安全 四、数字孪生技术助力智慧城市提高公共服务水平的价值 五、挑战与前景 六、结论 一、引言 随着信息技术的飞速发展&…

Linux工具篇

文章目录 1.yum1.1 yum是什么?1.2yum下载的软件包在哪?1.3 yum的配置1.4 yum的相关操作 2. Vim2.1 各种模式的相关操作2.2 利用vim解决普通用户无法sudo的问题2.3 vim的配置 3.gcc/g3.1 利用gcc理解程序的翻译过程3.2 编译器的自举 4. 程序的链接4.1动态…

【推荐】免费AI论文写作神器-「智元兔 AI」

还在为写论文焦虑?免费AI写作大师来帮你三步搞定! 智元兔AI是ChatGPT的人工智能助手,并且具有出色的论文写作能力。它能够根据用户提供的题目或要求,自动生成高质量的论文。 不论是论文、毕业论文、散文、科普文章、新闻稿件&…

OpenAI工作环境曝光:高薪背后的996;Quora的转变:由知识宝库至信息垃圾场

🦉 AI新闻 🚀 OpenAI工作环境曝光:高薪背后的996 摘要:近日,多位OpenAI匿名员工在求职网站Glassdoor上披露了公司的工作环境和公司文化,包括高薪水和优厚的福利待遇,但同时伴随着996的加班文化…

【大厂AI课学习笔记NO.62】模型的部署

我们历尽千辛万苦,总算要部署模型了。这个系列也写到62篇,不要着急,后面还有很多。 这周偷懒了,一天放出太多的文章,大家可能有些吃不消,从下周开始,本系列将正常更新。 这套大厂AI课&#xf…

二叉树的右视图,力扣

目录 题目: 我们直接看题解吧: 快速理解解题思路小建议: 审题目事例提示: 解题方法: 解题分析: 解题思路: 代码实现(DFS): 代码1: 补充说明: 代码2&#xff1…

XUbuntu22.04之如何定制:已经绑定的快捷键?(二百一十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

挑战杯 基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类

文章目录 1 前言2 情感文本分类2.1 参考论文2.2 输入层2.3 第一层卷积层:2.4 池化层:2.5 全连接softmax层:2.6 训练方案 3 实现3.1 sentence部分3.2 filters部分3.3 featuremaps部分3.4 1max部分3.5 concat1max部分3.6 关键代码 4 实现效果4.…

Linux/Docker 修改系统时区

目录 1. Linux 系统1.1 通过 timedatectl 命令操作1.2 直接修改 /etc/localtime 文件 2. Docker 容器中的 Linux 操作环境: CentOS / AlmaOSMySQL Docker 镜像 1. Linux 系统 1.1 通过 timedatectl 命令操作 使用 timedatectl list-timezones 命令列出可用的时区…

HM2019改变粘合层网格厚度的方法

如图所示,这里需要改变黄色层的厚度,改变效果如下 操作步骤:

golang实现openssl自签名双向认证

第一步:生成CA、服务端、客户端证书 1. 生成CA根证书 生成CA证书私钥 openssl genrsa -out ca.key 4096创建ca.conf 文件 [ req ] default_bits 4096 distinguished_name req_distinguished_name[ req_distinguished_name ] countryName …

【网站项目】137微博系统网站

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

PowerBI怎么修改数据库密码

第一步:点击转换数据 第二步:点击数据源设置 第三步:点击编辑权限 第四步:点击编辑 第五步:输入正要修改的密码就可以了

WebStorm激活与安装(全网最快捷、最靠谱的方法)

前言: 相信很多小伙伴已经开始了前端的学习之旅,想要更快乐的学习当然少不了WebStorm这个得力的开发工具软件。但是WebStorm是付费的,免费版功能有太少,怎么才能既免费,又能使用上正式版呢!当然还是激活啦…

Java:JVM基础

文章目录 参考JVM内存区域程序计数器虚拟机栈本地方法栈堆方法区符号引用与直接引用运行时常量池字符串常量池直接内存 参考 JavaGuide JVM内存区域 程序计数器 程序计数器是一块较小的内存空间,可以看做是当前线程所执行的字节码的行号指示器,各线程…

C++之结构体以及通讯录管理系统

1,结构体基本概念 结构体属于自定义的数据概念,允许用户存储不同的数据类型 2,结构体的定义和使用 语法:struct 结构体名{ 结构体成员列表}; 通过结构体创建变量的方式有三种: 1,struct …

一副耳机如何同时连接两台设备?双设备连接教学,耳机流转自如

或是夜深的宿舍、或是安静的图书馆……当你戴着耳机怡然自得地用平板煲着剧,手机突然来电,划破宁静的铃声想必让你尴尬无比、手忙脚乱。 想避免这种尴尬,其实也很简单,只需要使用华为的双设备连接的功能,即可“一副耳…