我怎样才能从android中的单词开始在名称中搜索?

时间:2013-11-23 08:10:51

标签: android search word

现在我搜索列表中的名字,但是当我在编辑文本中输入字符时,它会返回包含单词的名称,这些单词以不包含在任何位置的字符开头

例如: 我正在搜索这些字符(ste),然后它返回结果:

1 - Al Bernstein
2 - Ben Stein
3 - Steve Jobs
4 - John Stewart

我不想要名字,因为它没有单词从这些字符开始,但其他三个是正确的

这是我的代码:

auName.toLowerCase().contains(s.toString().toLowerCase()

2 个答案:

答案 0 :(得分:1)

  

1 - Al Bernstein 2 - Ben Stein 3 - Steve Jobs 4 - John Stewart

     

我不想要名字,因为它没有从这些开头   人物,但其他三个是正确的

从上面的示例中,您正在搜索的单词似乎也有一个重要的东西..它的“Ste”,即“S”是大写的..

你可以简单地搜索..

auName.contains(s.toString())

其中s = "Ste";

或者如果您仍想使用“ste”进行搜索,那么

//check presence of word at start and after apace
    if(auName.toLowerCase().startswith(s.toString().toLowerCase()) || auName.toLowerCase().contains(" " + s.toString().toLowerCase())){
    //your code
    }

答案 1 :(得分:0)

使用String.startsWith(String prefix)查找字符串是否以另一个字符串

开头

http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#startsWith(java.lang.String)

由于您需要名字或名字,因此您需要首先拆分字符串并检查是否以搜索字词开头。