现在我搜索列表中的名字,但是当我在编辑文本中输入字符时,它会返回包含单词的名称,这些单词以不包含在任何位置的字符开头
例如: 我正在搜索这些字符(ste),然后它返回结果:
1 - Al Bernstein
2 - Ben Stein
3 - Steve Jobs
4 - John Stewart
我不想要名字,因为它没有单词从这些字符开始,但其他三个是正确的
这是我的代码:
auName.toLowerCase().contains(s.toString().toLowerCase()
答案 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)
由于您需要名字或名字,因此您需要首先拆分字符串并检查是否以搜索字词开头。