社区
C#
帖子详情
关于字符串查找,哪种方法更快?
daosh
2005-03-18 04:52:41
有一个文本,里面保存了很多字符串,里面每个字符串自成一行,整个文本近万行
现在要对大量字符串(不是上面文本中读出来的)进行查找,查找它是否存在于上面的文本中
我想到两个方法:
方法1,查找每个字符串都读取文本,然后进行字符串比较(str1==str2)
方法2,将文本中的字符串先存入数据库某个表中,每次查的时候入库查询,看是否有匹配的结果
请问这两种方法哪种好点?你是否有更好的思路提供给我呢?
...全文
170
10
打赏
收藏
关于字符串查找,哪种方法更快?
有一个文本,里面保存了很多字符串,里面每个字符串自成一行,整个文本近万行 现在要对大量字符串(不是上面文本中读出来的)进行查找,查找它是否存在于上面的文本中 我想到两个方法: 方法1,查找每个字符串都读取文本,然后进行字符串比较(str1==str2) 方法2,将文本中的字符串先存入数据库某个表中,每次查的时候入库查询,看是否有匹配的结果 请问这两种方法哪种好点?你是否有更好的思路提供给我呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
速马
2005-03-20
打赏
举报
回复
用数据库应该是最方便的方法
不然的话,你最好为这个文本文件自己维护索引,最好随时保持排序了的状态,然后使用二分查找算法匹配
何必自己折腾呢,数据库在这方面是强项
hawk234
2005-03-20
打赏
举报
回复
uuppp
daosh
2005-03-20
打赏
举报
回复
有人建议读进内存,放到hash表中,查询方便
觉得这个都挺好
greennetboy
2005-03-18
打赏
举报
回复
肯定用正则表达式亚
yxiaoxiong
2005-03-18
打赏
举报
回复
如果查询次数不多,可以考虑读到内存后操作
反之放入数据库后进行处理效果更佳
ajieboy
2005-03-18
打赏
举报
回复
用正则表达式
hgamezoom
2005-03-18
打赏
举报
回复
似乎是数据库的效率更高些。可以用like。
读取大量txt文本文件的内存消耗非常之大,更不要说要用模糊查找了。
daosh
2005-03-18
打赏
举报
回复
先感谢楼上两位:)
to micropentium6:因为这个应用是建立在c#的基础之上...我说的第一种方法本意是将文本内容预先读到内存,那就是一大块string了,在里面查找字符串也有现成的方法,就是觉得这样会不会太“巨大”了?
小笨和漂向北方
2005-03-18
打赏
举报
回复
第一种方法自己写无法保证肯定的效率,也没有必要自己再去造车轮;第二种方法像是搞网页的朋友的做法,啥都离不开数据库,写这么个东西也必须windows企业版+sqlserver(如果大哥用php+mysql,我就拜他为师:)
可以考虑一下正则表达式吗?你知道吗?上次在北京站遇到一个研究生是做生物的,他告诉我:他们所有的dna序列查找都使用perl+regular expression,不知道楼主的情况能不能用?
leonchenjian
2005-03-18
打赏
举报
回复
我的想法是先将字符串排序,然后再用折半查找法查找。
字符串
的
查找
以及查重
方法
总结
掌握要求: 1、
字符串
查找
的朴素算法 2、
字符串
查找
的KMP算法 3、哈希表 4、字典树 1、
字符串
的
查找
之朴素算法 朴素算法思想很简单,就是将待
查找
字符串
t在被
查找
的
字符串
s中一一对比,如果遇到相同字符就将t和s同时往后挪,再依次比较;如果将t子串一直比较完了都与s中对应的连续位置元素相等的话,则就成功找到了字串的位置,但若t子串未比较完就与s中元素不相同,则将t返回到第一个元素,而s返回到刚与...
子
字符串
查找
算法_归纳及汇总
字符串
的一种基本操作就是子
字符串
查找
:给定一段长度为N的文本和一段长度为M的模式
字符串
,在文本中找到一个和该模式相符的
字符串
。 模式-> ABCDE 正文-> SJAHDJKS”ABCDE”QWIYUE 上文加引号处就是被搜索出来的结果。 相信这个大家肯定是经常遇到的吧,不管是使用 “CTRL+F” 搜索还是在一些搜索栏中搜索一段文字,将包含该文字的书籍输出中,我们都会遇到,所以在这里对
Java三种
方法
实现
字符串
排序
Java
字符串
排序 文章目录Java
字符串
排序排序
方法
概述键索引计数法低位优先的
字符串
排序(LSD)高位优先的
字符串
排序(MSD)三向
字符串
快
速排序 排序
方法
概述 对于许多应用,决定顺序的键都是
字符串
。本篇讲述如何利用
字符串
的特殊性质来对其进行高效的排序。 第一类
方法
会从右到左检查键中的字符。这种
方法
一般被称为低位优先(Least-Significant-DigitFirst,LSD)的
字符串
排序。如果将一个
字符串
看做一个256进制的数字,那么从右向左检查
字符串
就等价于先检查数字的最低位。这种
方法
最适合
汇编
字符串
查找
输入
字符串
和关键字然后
查找
,有相同的输出“Match!”,没有相同的输出“No Match” copy大佬的程序然后魔改的,希望大佬不要介意。 汇编的 “;”是区别注释,;后面的全是注释使用时可以删除。 DATAS SEGMENT;DATAS我感觉像一个结构体名,实际上是段名,SEGMENT是声明段此处可以参考 汇编segment伪指令_星河Dac-CSDN博客_汇编segment INPUT1 DB 13,10,'Please input a string:','$';DB定义操...
字符串
查找
算法及原理
面试题: 判断
字符串
是否在另一个
字符串
中存在? 面试时发现好多人回答不好, 所以就梳理了一下已知的
方法
, 此文较长, 需要耐心的看下去。从实现和算法原理两方面解此问题, 其中有用PHP原生
方法
实现也有一些业界大牛创造的算法。 实现
方法
一: 语言特性-内置函数 <?php /* strpos示例 */ // test echo '...
C#
110,572
社区成员
642,565
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章