Когда вы печатаете строку, вы получаете вывод метода __str__
объекта - в этом случае строка без кавычек. Метод __str__
списка отличается, он создает строку, содержащую открытие и закрытие []
, и строку, создаваемую методом __repr__
для каждого объекта, содержащегося внутри. То, что вы видите, - это разница между __str__
и __repr__
.
Вместо этого вы можете создать свою собственную строку:
print '[' + ','.join("'" + str(x) + "'" for x in s) + ']'
Эта версия должна работать как с Unicode, так и с байтовые строки в Python 2:
print u'[' + u','.join(u"'" + unicode(x) + u"'" for x in s) + u']'
Вы также можете преобразовать их в один и тот же случай, используя toLowerCase () или toUpperCase ():
if (!contacts.getUid().toLowerCase().equals(firebaseUser.getUid().toLowerCase())) {
arrayList.add(contacts);
}
Вы можете использовать равные Игнорировать регистр для этого ... это строковая функция для игнорирования регистра.
if (!contacts.getName().toLowerCase().contains(s.toString().toLowerCase())) // something like this..
{
arrayList.add(contacts);
}
Вы можете попробовать использовать .toLowerCase()
для вашего имени пользователя и текста, который вы получаете из вида поиска, и проверить .... для поиска по имени пользователя ...
Я считаю, что вы, возможно, получаете все данные в объекте вашего класса контактов. Тогда вам просто нужно проверить введенную строку в представлении поиска в вашем методе get filter, как описано выше, и .contains
проверит, присутствует ли введенная строка. или нет ... если вы хотите, вы также можете сделать .startsWith(s.toString().toLowerCase())
, если вы хотите найти имя, начиная со строки, введенной в окне поиска ..
public boolean regionMatches(boolean ignoreCase,
int toffset,
String other,
int ooffset,
int len)
ignoreCase: если true, игнорирует регистр при сравнении символов.
public static boolean containsIgnoreCase(String str, String searchStr) {
if(str == null || searchStr == null) return false;
final int length = searchStr.length();
if (length == 0)
return true;
for (int i = str.length() - length; i >= 0; i--) {
if (str.regionMatches(true, i, searchStr, 0, length))
return true;
}
return false;
}