我尝试了多种方法,但我没有得到确切的解决方案。
我有电话联络搜索的要求, 在键盘中包含
1-nothing
2-ABC
3-DEF
4-GHI
..
.
现在我按下23个按钮,然后搜索如下所示
AD , AE , AF , BD , BE , BF , CD , CE , CF
在同一场景中,我按234然后
ADG , ADH , ADI , AEG , AEH , AEI , AFG , AFH , AFI , BDG , BDH , BDI ..........
答案 0 :(得分:1)
我建议在这里使用正则表达式。如果按234,则可以构造正则表达式^[ABC][DEF][GHI]
(^
可选,如果您只想从字符串的开头匹配)。您可能还希望确保使用不区分大小写的匹配。
您也可以在Android中执行此操作,请参阅http://developer.android.com/reference/java/lang/String.html#matches(java.lang.String)。
(编辑:@JasonC首先将名称转换为数字的答案也是一个不错的选择。)
答案 1 :(得分:1)
如果您将每个联系人姓名转换为相应的数字序列,搜索将更加直截了当,您不必担心创建字母组合。
Bob => 262
John => 5646
Steve => 78373
Show => 7469
Your => 9687
Work => 9675
Please => 753273
祝你好运。