我想要转义$符号以及其他字符,例如'<&#;''>'所以只是想知道StringEscapeUtils是否支持这个。如果没有,我怎么能逃脱呢?
答案 0 :(得分:1)
看起来没有。您可以使用以下代码进行尝试:
StringEscapeUtils.escapeHtml("<b>Hello, World!</b>$")
输出
<b>Hello, World!</b>$
答案 1 :(得分:1)
在commons-lang 3弃用StringEscapeUtils
之后,我测试了从commons-text 1.1执行以下操作:
public static void main(String[] args)
{
System.out.println(StringEscapeUtils.escapeHtml4("$ % > < = #"));
}
输出$ % > < = #
它没有逃脱&#34; $&#34;开箱即用,但新的Utils in commons-text使用户能够扩展它。请阅读this article以获取示例。这是一个小的,但文章显示了更高级的可能性:
Map<CharSequence, CharSequence> added = new HashMap<>();
added.put("$", "foo");
System.out.println(StringEscapeUtils.ESCAPE_HTML4
.with(new LookupTranslator(added))
.translate("$ % > < = #"));
输出foo % > < = #