При поиске подходящего способа обрезать неразрывное пространство из разобранного HTML я впервые наткнулся на java spartan definition String.trim()
, который, по крайней мере, правильно документирован. Я хотел, чтобы явным образом не перечислял символы, подходящие для обрезки, поэтому я предположил, что использование поддерживаемых Unicode методов в классе Character выполнит эту работу для меня.
Что, когда я обнаружил, что Character.isWhitespace(char) явно исключает неразрывные пробелы:
Это символ пробела Unicode (
SPACE_SEPARATOR
,LINE_SEPARATOR
илиPARAGRAPH_SEPARATOR
) , но также не является неразрывным пробелом ('\u00A0'
,'\u2007'
,'\u202F'
).
Почему?
Реализация соответствующего эквивалента .NET является менее дискриминационной.