Я знаю, что подобный вопрос задавался ранее, и я задавал его вчера, однако все еще не могу найти ответ на свою проблему!
Я сравниваю массивы и извлекаю сходства с помощью HashSet.
final String[] abc = nlp_text.split(",");
final String[] xyz = getResources().getStringArray(R.array.xyz);
final HashSet<String> set = new HashSet<>();
for(String a : abc) set.add(a.toLowerCase());
final HashSet<String> set1 = new HashSet<>();
for(String a : xyz) set1.add(a.toLowerCase());
set.retainAll(set1);
String[] pqr= {};
pqr = set.toArray(pqr);
Это возвращает пустое! Хотя есть похожие строки, разделенные запятой! nlp_text - это список имен массивов, например: «Натали Портман, Джонни Депп, Джон Доу, Джейн Доу, Наташа, Саша, ... et c». Массив xyz также имена (база данных имен, около 300).
Если разделить на (""), работает на строки из одного слова, но не работает на строки из двух слов. Например, строки «Джон» и «Доу» будут распознаваться отдельно, а «Джон Доу» - нет. Таким образом, пробовал с запятой, "-", ".", Даже двойной пробел! Ничего!
Есть идеи, почему? заранее спасибо !!!