我想转义 $ 符号以及 '<'、'>' 等其他字符。所以只是想知道 StringEscapeUtils 是否支持这一点。如果没有,我怎么能逃脱它?
问问题
2449 次
2 回答
1
看起来没有。您可以使用以下代码进行尝试:
StringEscapeUtils.escapeHtml("<b>Hello, World!</b>$")
输出
<b>Hello, World!</b>$
于 2017-12-01T08:40:57.003 回答
1
在 commons-lang 3 deprecated 之后,我从 commons-text 1.1 测试了以下操作StringEscapeUtils
:
public static void main(String[] args)
{
System.out.println(StringEscapeUtils.escapeHtml4("$ % > < = #"));
}
输出$ % > < = #
它不会开箱即用地转义“$”,但 commons-text 中的新 Utils 允许用户扩展它。阅读本文以获取示例。这是一个小例子,但文章显示了更高级的可能性:
Map<CharSequence, CharSequence> added = new HashMap<>();
added.put("$", "foo");
System.out.println(StringEscapeUtils.ESCAPE_HTML4
.with(new LookupTranslator(added))
.translate("$ % > < = #"));
输出foo % > < = #
于 2017-12-01T08:41:25.887 回答