Вот что происходит.Java String.contains() не работает на кириллице
Типы пользователей в "лос ан"
У меня есть куча продуктов, чье расположение "лос анджелис"
если я:
String userInput = "лос ан"
for(Product product : products) {
if(product.getCity().trim().toLowerCase().contains(userInput.trim().toLowerCase())) {
System.out.println("MATCH");
}
}
Я не получаю MATCH.
Это работает для латинских символов
Проблема, вероятно, не исходит из 'contains', а из' toLowerCase' (проблема локали). – Tunaki
так что я должен использовать вместо toLowerCase? могу ли я сделать что-то вроде игнорирования случая? –
Проблема такая же: игнорирование дела. Это вопрос, зависящий от языка, поскольку один и тот же символ может быть с меньшим положением в зависимости от локали. Вы должны спросить у пользователя их язык и использовать его соответствующим образом. Пожалуйста, обратитесь к этому ответу: http://stackoverflow.com/a/11063161/1743880 – Tunaki