String 实现模糊查询

举报
咚咚隆地咚 发表于 2022/09/22 09:47:17 2022/09/22
【摘要】 在一般项目的使用过程中,模糊搜索特别普遍。模糊搜索在精准度上要求不高。模糊搜索他所查找的范围也更为广泛,我们也可以通过这个方法使用搜索一些不确定的信息。例如在字符串中搜索,可以定位的更为广泛,而靳准搜索要求度过高,仅仅适用于一些高精准度的搜索使用。 使用String 实现模糊查询if (Name.find(str.toStdString()) != Name.npos ) ...

在一般项目的使用过程中,模糊搜索特别普遍。模糊搜索在精准度上要求不高。模糊搜索他所查找的范围也更为广泛,我们也可以通过这个方法使用搜索一些不确定的信息。例如在字符串中搜索,可以定位的更为广泛,而靳准搜索要求度过高,仅仅适用于一些高精准度的搜索使用。

使用String 实现模糊查询

if (Name.find(str.toStdString()) != Name.npos ) 
            {
                qDebug()<<Name.find(str.toStdString());
            }

注:输出的是模糊查询中 所找到相对应字符串的位置

npos 是一个常数,他是用于表示不存在的位置,可以通过它比较是否存在,不存在则不会进入if语句。

find(string str) 所输入的参数是在name中所找的内容,name就相当于一个妈妈,str是孩子,通过find查找这个孩子是不是这位妈妈的孩子。

find(string  str,  int  pos) 这是find适用于双参数,pos 是指从所指的位置开始遍历 搜索是否有需要查找的字符串。

QString 实现模糊查询

Name.startsWith(str); 用于判断是否是以字符串str开头

Name. endsWith (str); 用于判断是否是以字符串str结束

这两种方式仅仅用于比较,而且他们的位置具有局限性 可以通过自己的需求使用
compare(b) 他是比较相不相同 如果不相同为true 他是通过两个字符串进行相对应位置的比较,只要有一个不相同就不再继续进行比较。

使用 MySQL 模糊查询

MySQL中具有自己的模糊查询语句,可以在使用数据库的情况下进行查询,并且它的方式最为便捷。

总结

我所总结出来的这一部分仅仅是我所发现的模糊查询的方法,如果大家有别的更好的方法,欢迎添加!以上是实现模糊查询的多种方式!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。