zoukankan      html  css  js  c++  java
  • 一个简单的汉字搜索匹配示例(支持拼音、首字母简写)

    在社交应用中,很多场景下需要用到搜索,以微信的搜索通讯录为例。好友自己有昵称,我们可能给他/她备注一个昵称,在输入:拼间、首字母、原文时都应该能匹配到(匹配优先是备注然后才是原来的昵称)。这里以‘芈月传’为例,‘芈’不是常见字,所以输入:myz或者miyuezhuan或者芈月传,都应该能匹配到‘芈月传’这个结果。当然不一定需要全部写完,比如输入:my的时候就应该能匹配到‘芈月传’了。针对多音字的话,可能会麻烦一些,不过也可以解决(在下面的例子之上再进行扩展即可),一般场景下单音已经解决90%以上的问题了,不建议搞的特别复杂。

     

    下面例子的思路是input:原文,output:[全拼,首字母,原文],使用indexOf或者正则忽略大小写对searchKey进行匹配,只要命中一个则认为匹配到了。比如[‘ruyichuan’,’ryc’,’如懿传’],要搜索‘如懿传’,因为中间那个字比较难写,所以我可能会打:ry或者ruyi,此时就应该能匹配到’如懿传’了,做的更好一些就是匹配的字进行标红,那么第一项‘ruyichuan’就应该是数组而不是字符串了。下面这个例子比较取巧,有需要的童鞋可以做为一个参考 :)

     

  • 相关阅读:
    pod hook 钩子函数 生命周期 lifecycle/postStart/preStop
    yaml基本语法 && 静态pod && pod生命周期 && pod健康检测
    netsh winsock reset
    H3C Password Contrpol
    H3C ssh 配置参考
    win7怎么修复winsock被删除
    pod健康检测 exec/http/tcpSocket
    win10 1709 新装 鼠标卡顿
    shell 标准输入输出及错误输出 重定向
    IP安全策略只允许指定IP连接远程桌面,限制IP登
  • 原文地址:https://www.cnblogs.com/meteoric_cry/p/5954547.html
Copyright © 2011-2022 走看看