我正在尝试使用StringEscapeUtils.unescapeHtml4()替换HTML 5的符号,但我仍然有很多符号尚未替换,例如“ ”、“&” 。您会推荐使用什么?
最佳答案
 
和 &
不是实体。
和 &
是实体。如果您的字符串确实缺少 ;
,这就是它们未被解码的原因。
我刚刚检查过(只是为了彻底!),StringEscapeUtils.unescapeHtml4
确实正确解码
和 &
.
正确的修复是修复为您提供的字符串中包含不完整实体的任何内容。
您可以解决这个问题,也可以使用 将
: 
和 &
转换为 \u00A0
和 &
使用StringEscapeUtils.unescapeHtml4
后的String#replace
// Ugly, technically-incorrect workaround (but we do these things sometimes)
String result =
StringEscapeUtils.unescapeHtml4(sourceString)
.replace(" ", "\u00A0")
.replace("&", "&");
...但这不正确,因为它们不是实体。最好更正字符串。
关于java - 用 Java 中的等效字符替换 HTML 5 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34927373/