0

我想转义 $ 符号以及 '<'、'>' 等其他字符。所以只是想知道 StringEscapeUtils 是否支持这一点。如果没有,我怎么能逃脱它?

4

2 回答 2

1

看起来没有。您可以使用以下代码进行尝试:

StringEscapeUtils.escapeHtml("<b>Hello, World!</b>$")

输出

&lt;b&gt;Hello, World!&lt;/b&gt;$
于 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("$ % > < = #"));
}

输出$ % &gt; &lt; = #

它不会开箱即用地转义“$”,但 commons-text 中的新 Utils 允许用户扩展它。阅读本文以获取示例。这是一个小例子,但文章显示了更高级的可能性:

Map<CharSequence, CharSequence> added = new HashMap<>();
added.put("$", "foo");
System.out.println(StringEscapeUtils.ESCAPE_HTML4
                                    .with(new LookupTranslator(added))
                                    .translate("$ % > < = #"));

输出foo % &gt; &lt; = #

于 2017-12-01T08:41:25.887 回答