Mientras busco una forma adecuada de recortar el espacio sin interrupciones del HTML analizado, primero me encontré con la espartana definición de java de String.trim()
que está al menos documentada correctamente. Quería evitar enumerar explícitamente a los personajes elegibles para recortar, así que asumí que usar métodos respaldados por Unicode en la clase de personaje me haría el trabajo.¿Por qué el espacio non-breaking no es un carácter de espacio en blanco en java?
Fue entonces cuando descubrí que Character.isWhitespace(char) excluye explícitamente de no separación espacios:
Es un carácter de espacio Unicode (
SPACE_SEPARATOR
,LINE_SEPARATOR
oPARAGRAPH_SEPARATOR
) pero no es también un espacio de no separación ('\u00A0'
,'\u2007'
,'\u202F'
).
¿Por qué es eso?
La implementación de corresponding .NET equivalent es menos discriminatoria.
Con respecto a la compatibilidad con versiones anteriores: estoy de acuerdo, pero no hay ninguna razón para no agregar, por ejemplo, Character.isWhitespaceNew (char) para capturar la situación actual. – Jirka
Por ese camino yace PHP. – Eric
Y en el otro camino se encuentra, bueno, Java. Un lenguaje que abrió el camino para los que lo siguieron (que aprendió de sus errores), pero por qué alguien lo usaría voluntariamente si tuvieran otras opciones está más allá de mi comprensión. – Eloff