Java 搜索联系人姓名,但不区分大小写或小写
我正在开发一个应用程序,根据输入查找联系人号码。例如,当输入为Java 搜索联系人姓名,但不区分大小写或小写,java,android,Java,Android,我正在开发一个应用程序,根据输入查找联系人号码。例如,当输入为james时,它会在我的contactsbook中找到james(由于种种原因,我的输入必须总是小写),但当我的contactsbook只包含大写的james时,它不会找到它 在我的代码中,我有: String selection = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+" like'%" + name +"%'"; 在name是输入的地方,我们还可以看到导致这个问
james
时,它会在我的contactsbook中找到james
(由于种种原因,我的输入必须总是小写),但当我的contactsbook只包含大写的james
时,它不会找到它
在我的代码中,我有:
String selection = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+" like'%" + name +"%'";
在name
是输入的地方,我们还可以看到导致这个问题的like运算符
因此,我想使搜索不区分大小写,或者在搜索之前使所有DISPLAY_NAME小写。感谢您的帮助
String selection = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME.toLowerCase()+" like'%" + name +"%'";
这会让你满意的。不区分区域设置。对字符串调用“toLower()”,如中所示:
String selection = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME.toLowerCase()+" like'%" + name +"%'";
或
String selection = (ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+" like'%" + name +"%'").toLowerCase();