Просто возможная причина - сервер возвращает «разные пробелы».Взгляните на этот код - он работает точно так, как вы написали:
String wef = "83 Cool 4555"; // From server
String wef2 = "83\u00A0Cool\u00A04555"; // From server
wef = wef.replaceAll("[^A-Za-z0-9- ]", "").replaceAll("\\s+", " ");
wef2 = wef2.replaceAll("\\s+", " ");
log.debug(wef);
log.debug(wef2);
assertFalse(wef.contains(wef2));
, но вывод выглядит так же:
DEBUG 22:25:54.879 [main] (AAA.java:22) 83 Cool 4555
DEBUG 22:25:54.888 [main] (AAA.java:23) 83 Cool 4555
Почему?Потому что в первой строке у нас есть пробел, а во второй «неразрывный пробел».