如果是员工,我有一个包含全名的字符串。现在我希望它与String值进行比较。如果匹配的字符超过三个,则应显示与其匹配的所有记录。
String name1 = "abcdefghijklmnopqrstuv";
EditText editText = findVewById(R.id.eText);
String name2 = ediText.getText().toString();
if (name2.equalsIgnoreCase(name1))
{
//do something
}
问题在于如果它与完整模式匹配则进入if循环,我想检查name2是否匹配前三个字符和三个以上以及用户输入的所有字符应该进入if条件。有没有办法做到这一点。
答案 0 :(得分:0)
尝试:
if (name2.substring(0,3).equalsIgnoreCase(name1) || (name1.lenght > 3 && name2.contains(name1)) || name2.equalsIgnoreCase(name1))
{
//do something
}
name2.substring(0,3).equalsIgnoreCase(name1)
(name1.lenght > 3 && name2.contains(name1))
name2.equalsIgnoreCase(name1)
答案 1 :(得分:0)
您是否尝试过使用Regex? http://www.vogella.com/articles/JavaRegularExpressions/article.html
如果您将它与list一起使用,那么您应该查看Filter接口。 http://www.androidhive.info/2012/09/android-adding-search-functionality-to-listview/