Пример: < /p>
в базе данных: Pérez Juan, Cooper Sheldon, Pérez Adrian < /p>
search: perez < /pérez adrian < /p>
perez < /pérez Adrian < /p>
search: perez < /pérez adrian < /p>
search: perez < /pérez adrian < /p>
Pérez Adrian (из базы данных)
Я выполнял запрос, используя, и он работает, охватывая нечувствительный корпус, но он не работает для акцентов, потому что мне нужно написать букву точно одинаково (с или без акцента), вот мой рабочий код:
, поэтому я получаю вариабельную), вот мой рабочий код>
, так что я получаю вариабель)
, поэтому я получаю вариабель)
, поэтому я получаю вариабель)
, поэтому я получаю вариабель).
Код: Выделить всё
String name = searchEditText.getText().toString();
if (!name.equals("")){
name = "%" + name + "%";
}
Код: Выделить всё
@Query("SELECT *, lastName || ' ' || name AS FullName\n" +
"FROM Person\n" +
"WHERE FullName LIKE :fn\n" +
"ORDER BY FullName")
LiveData searchPerson(String fn);
To solve the problem of the accents I found this answer that I am trying to implement without success
So I get the variable used in searchPerson
Код: Выделить всё
String name = searchEditText.getText().toString();
name = addTildeOptions(name);
Код: Выделить всё
private String addTildeOptions(String searchText) {
return searchText.toLowerCase()
.replaceAll("\\[aáàäâã]\\.*", "[aáàäâã]")
.replaceAll("\\[eéèëê]\\.*", "[eéèëê]")
.replaceAll("\\[iíìî]\\.*", "[iíìî]")
.replaceAll("\\[oóòöôõ]\\.*", "[oóòöôõ]")
.replaceAll("\\[uúùüû]\\.*", "[uúùüû]")
.replace("*", "[*]")
.replace("?", "[?]");
}
Код: Выделить всё
@Query("SELECT *, lastName || ' ' || name AS FullName\n" +
"FROM Person\n" +
"WHERE lower(FullName) GLOB :fn\n" +
"ORDER BY FullName")
LiveData searchPerson(String fn);
Подробнее здесь: https://stackoverflow.com/questions/715 ... ng-accents
Мобильная версия