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