在字符串中查找检索多个关键词(子串)比较好的方法

C语言 码拜 8年前 (2016-04-23) 1320次浏览
现有关键词有近100多个,需要对每一次的字符串结果进行检索判断,看能否包含关键词列表中的关键词,并能返回关键词出现的位置。
本人目前的做法是对关键词列表中的关键词,进行一一匹配检索,就是反复使用strstr,但感觉效率不高,而且感觉有些笨。希望高手们能给出比较好的思路。谢谢各位高手!
解决方案

25

每次查找时不要都从头查找,必要时记录strstr返回值,从上一次查找到的位置继续查找

10

谈及字符串的匹配问题的话,就不得不说字符串里面的算法了,当然本人还不熟练。
可以像题主说的一一进行匹配,但是这种方法太麻烦,时间复杂度还高,优化后的KMP算法和ac自动机和后缀数组都很好用,当然这些算法不是很简单的。假如题主不是搞算法的,建议稍微接触一下KMP算法就好了,这种方法毕竟使用简单点。

5

这是在做全文检索么..

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明在字符串中查找检索多个关键词(子串)比较好的方法
喜欢 (0)
[1034331897@qq.com]
分享 (0)