为什么在 Java 中,不换行空格不是空格字符?
在寻找一种从解析的HTML中修剪不间断空间的正确方法时,我首先偶然发现了Java的斯巴达式定义,它至少被正确记录下来了。我想避免显式列出符合修剪条件的字符,因此我认为在 Character 类上使用 Unicode 支持的方法可以完成这项工作。String.trim()
就在那时,我发现 Character.isWhitespace(char) 明确排除了不间断空格:
它是 Unicode 空格字符 (, , or ),但也不是不间断空格 (, , )。
SPACE_SEPARATOR
LINE_SEPARATOR
PARAGRAPH_SEPARATOR
'\u00A0'
'\u2007'
'\u202F'
为什么?
相应的 .NET 等效项的实现的歧视性较小。