Я думаю, что это зависит в большой степени от того, насколько сложный вывод. Я склонен выбирать, какой бы ни сценарий работает лучше всего в то время.
Выбор правильный инструмент на основе задания: D, Какой бы ни выглядит самым чистым!
Это неразрывный пробел . Согласно шаблону
Javadocs , \\ s
соответствует [\ t \ n \ x0B \ f \ r]
, поэтому вам придется явно добавьте \ xA0
в ваше регулярное выражение, если хотите сопоставить его.
Это \ u00A0
, также известный как неразрывный пробел . Если вы знаете HTML, вы поймете, что это то же самое пространство, которое представлено & nbsp;
. Очевидно, кто-то использовал его вместо обычного пространства.
Попробуйте использовать это для сопоставления пробелов
Character.isSpaceChar(c) || c <= ' ';
Я однажды сделал эту электронную таблицу, чтобы показать вам некоторые из различных определений пробелов, используемых в Java. Это довольно увлекательно (если вы такие странные, как я).
http://spreadsheets.google.com/pub?key=pd8dAQyHbdewRsnE5x5GzKQ
Между прочим, CharMatcher.WHITESPACE Guava отслеживает последний стандарт Unicode 5.x и таким образом, часто является лучшим выбором, чем методы JDK.