Durante la ricerca di un modo corretto per tagliare lo spazio non interrotto dall'HTML analizzato, per prima cosa sono incappato nella definizione spartana di Java di String.trim()
che è almeno adeguatamente documentata. Volevo evitare di elencare esplicitamente caratteri idonei per il ritaglio, quindi ho pensato che usare i metodi di supporto Unicode sulla classe Personaggio avrebbe fatto il lavoro per me.Perché lo spazio non-breaking non è un carattere di spazio bianco in java?
Questo è quando ho scoperto che Character.isWhitespace(char) esclude esplicitamente spazi unificatori:
E 'un Unicode carattere di spazio (
SPACE_SEPARATOR
,LINE_SEPARATOR
, oPARAGRAPH_SEPARATOR
) ma non è anche uno spazio unificatore ('\u00A0'
,'\u2007'
,'\u202F'
).
Perché è quello?
L'implementazione di corresponding .NET equivalent è meno discriminante.
Per quanto riguarda la retrocompatibilità: sono d'accordo, ma non vi è alcun motivo per non aggiungere, per esempio, Character.isWhitespaceNew (char) per acquisire la situazione attuale. – Jirka
In fondo a questa strada giace PHP. – Eric
E giù per l'altra strada bugie, beh, Java. Un linguaggio che ha aperto la strada a coloro che seguirono (che hanno imparato dai suoi errori), ma perché qualcuno lo userebbe volontariamente se avessero altre opzioni è al di là della mia comprensione. – Eloff