用C#实现基于查寻字符串的文件行查询器(1)-概述
2005-06-01 22:17
288 查看
作者:yxin1322
http://blog.csdn.net/yxin1322
转载请注明出处
第一次写blog,真是无从下笔,不知道写点什么好,正好前几天C#实验课做了一个基于查寻字符串的文件行查询器。由于程序涉及到的知识颇为丰富,所以将整个程序的设计和实现过程记录在此,算是一个总结。
所谓文件行查询就是以文本文件的行作为查找单位,查询结果返回所有满足条件的行。
所谓查询字符串,就是通过一个有格式的字符串来表明你将要查找的内容,格式字符串中可以使用三种逻辑运算符&&、||和! ,分别表示与、或、非运算,三种运算符的优先级别从高到低的顺序是!、$$、||,同时可以用括号来控制逻辑运算的结合顺序,如:
aaa :查找的含有关键字为aaa的行
aaa && bbb:查找同时含有aaa和bbb的行
aaa||bbb:查找含有aaa或bbb的行
!aaa:查找不含有aaa的行
!(aaa && bbb):查找不同时包含aaa和bbb的行
毫无疑问,要实现查找,我们首先要解析出查询字符串,使程序能够按照各运算符的优先级依次结合查找。这里我选择最常用的逆波兰式来解析查询字符串,因为后置运算符的逆波兰式特别适合计算机处理表达式计算,同时逆波兰式不需要用括号来控制运算结合顺序。当查询字符串转换成逆波兰式后,就可以按照其特有的算法来进行查询操作了。对于查询操作,定义了相关类进行操作,我将在以后的章节里详细介绍。(未完...)
http://blog.csdn.net/yxin1322
转载请注明出处
第一次写blog,真是无从下笔,不知道写点什么好,正好前几天C#实验课做了一个基于查寻字符串的文件行查询器。由于程序涉及到的知识颇为丰富,所以将整个程序的设计和实现过程记录在此,算是一个总结。
所谓文件行查询就是以文本文件的行作为查找单位,查询结果返回所有满足条件的行。
所谓查询字符串,就是通过一个有格式的字符串来表明你将要查找的内容,格式字符串中可以使用三种逻辑运算符&&、||和! ,分别表示与、或、非运算,三种运算符的优先级别从高到低的顺序是!、$$、||,同时可以用括号来控制逻辑运算的结合顺序,如:
aaa :查找的含有关键字为aaa的行
aaa && bbb:查找同时含有aaa和bbb的行
aaa||bbb:查找含有aaa或bbb的行
!aaa:查找不含有aaa的行
!(aaa && bbb):查找不同时包含aaa和bbb的行
毫无疑问,要实现查找,我们首先要解析出查询字符串,使程序能够按照各运算符的优先级依次结合查找。这里我选择最常用的逆波兰式来解析查询字符串,因为后置运算符的逆波兰式特别适合计算机处理表达式计算,同时逆波兰式不需要用括号来控制运算结合顺序。当查询字符串转换成逆波兰式后,就可以按照其特有的算法来进行查询操作了。对于查询操作,定义了相关类进行操作,我将在以后的章节里详细介绍。(未完...)
相关文章推荐
- 用C#实现基于查寻字符串的文件行查询器(3)-设计与实现
- 用C#实现基于查寻字符串的文件行查询器(2)-相关技术介绍
- c#、asp.net 基于ajaxfileupload.js 实现文件异步上传
- C#基于WindowsMediaPlayer实现音视频文件播放器
- resumable.js —— 基于 HTML 5 File API 的文件上传组件 支持续传后台c#实现
- C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题
- 利用C#自身类实现MD5编码(字符串/文件)
- [C# 网络编程系列]专题十一:实现一个基于FTP协议的程序——文件上传下载器
- [C# 网络编程系列]专题十一:实现一个基于FTP协议的程序——文件上传下载器
- c#实现linux中gzip压缩解压缩算法:byte[]字节数组,文件,字符串,数据流的压缩解压缩
- 基于C#弹幕类射击游戏的实现——(一)概述
- 用C#实现一个基于http的文件发布程序
- C#实现的基于二进制读写文件操作示例
- C#利用Tamir.SharpSSH类库实现SFTP(基于ssh)文件操作
- [C# 网络编程系列]专题十一:实现一个基于FTP协议的程序——文件上传下载器
- 【C#网络编程系列】专题十一:实现一个基于FTP协议的程序—文件上传下载器
- [C# 网络编程系列]专题十一:实现一个基于FTP协议的程序——文件上传下载器
- C#实现字符串,文件获取Md5加密校验方法
- [C# 网络编程系列]专题十一:实现一个基于FTP协议的程序——文件上传下载器
- C#中基于流的XML文件操作笔记