一個簡單的漢字搜索匹配示例(支持拼音、首字母簡寫)


在社交應用中,很多場景下需要用到搜索,以微信的搜索通訊錄為例。好友自己有昵稱,我們可能給他/她備注一個昵稱,在輸入:拼間、首字母、原文時都應該能匹配到(匹配優先是備注然后才是原來的昵稱)。這里以‘羋月傳’為例,‘羋’不是常見字,所以輸入:myz或者miyuezhuan或者羋月傳,都應該能匹配到‘羋月傳’這個結果。當然不一定需要全部寫完,比如輸入:my的時候就應該能匹配到‘羋月傳’了。針對多音字的話,可能會麻煩一些,不過也可以解決(在下面的例子之上再進行擴展即可),一般場景下單音已經解決90%以上的問題了,不建議搞的特別復雜。

 

下面例子的思路是input:原文,output:[全拼,首字母,原文],使用indexOf或者正則忽略大小寫對searchKey進行匹配,只要命中一個則認為匹配到了。比如[‘ruyichuan’,’ryc’,’如懿傳’],要搜索‘如懿傳’,因為中間那個字比較難寫,所以我可能會打:ry或者ruyi,此時就應該能匹配到’如懿傳’了,做的更好一些就是匹配的字進行標紅,那么第一項‘ruyichuan’就應該是數組而不是字符串了。下面這個例子比較取巧,有需要的童鞋可以做為一個參考 :)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM