N个字符串与K个字母的组合

时间:2013-11-07 06:44:12

标签: java android search contacts

我尝试了多种方法,但我没有得到确切的解决方案。

我有电话联络搜索的要求, 在键盘中包含

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 ..........

2 个答案:

答案 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
祝你好运。