Class StringEscapeUtils
String
s for
Java, Java Script, HTML and XML.
#ThreadSafe#
- Since:
- 2.0
-
Field Summary
Modifier and TypeFieldDescriptionstatic final CharSequenceTranslator
Deprecated.Translator object for escaping individual Comma Separated Values.static final CharSequenceTranslator
Deprecated.Translator object for escaping EcmaScript/JavaScript.static final CharSequenceTranslator
Deprecated.Translator object for escaping HTML version 3.0.static final CharSequenceTranslator
Deprecated.Translator object for escaping HTML version 4.0.static final CharSequenceTranslator
Deprecated.Translator object for escaping Java.static final CharSequenceTranslator
Deprecated.Translator object for escaping Json.static final CharSequenceTranslator
Deprecated.useESCAPE_XML10
orESCAPE_XML11
instead.static final CharSequenceTranslator
Deprecated.Translator object for escaping XML 1.0.static final CharSequenceTranslator
Deprecated.Translator object for escaping XML 1.1.static final CharSequenceTranslator
Deprecated.Translator object for unescaping escaped Comma Separated Value entries.static final CharSequenceTranslator
Deprecated.Translator object for unescaping escaped EcmaScript.static final CharSequenceTranslator
Deprecated.Translator object for unescaping escaped HTML 3.0.static final CharSequenceTranslator
Deprecated.Translator object for unescaping escaped HTML 4.0.static final CharSequenceTranslator
Deprecated.Translator object for unescaping escaped Java.static final CharSequenceTranslator
Deprecated.Translator object for unescaping escaped Json.static final CharSequenceTranslator
Deprecated.Translator object for unescaping escaped XML. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic final String
Deprecated.Returns aString
value for a CSV column enclosed in double quotes, if required.static final String
escapeEcmaScript
(String input) Deprecated.Escapes the characters in aString
using EcmaScript String rules.static final String
escapeHtml3
(String input) Deprecated.Escapes the characters in aString
using HTML entities.static final String
escapeHtml4
(String input) Deprecated.Escapes the characters in aString
using HTML entities.static final String
escapeJava
(String input) Deprecated.Escapes the characters in aString
using Java String rules.static final String
escapeJson
(String input) Deprecated.Escapes the characters in aString
using Json String rules.static final String
Deprecated.useescapeXml10(java.lang.String)
orescapeXml11(java.lang.String)
instead.static String
escapeXml10
(String input) Deprecated.Escapes the characters in aString
using XML entities.static String
escapeXml11
(String input) Deprecated.Escapes the characters in aString
using XML entities.static final String
unescapeCsv
(String input) Deprecated.Returns aString
value for an unescaped CSV column.static final String
unescapeEcmaScript
(String input) Deprecated.Unescapes any EcmaScript literals found in theString
.static final String
unescapeHtml3
(String input) Deprecated.Unescapes a string containing entity escapes to a string containing the actual Unicode characters corresponding to the escapes.static final String
unescapeHtml4
(String input) Deprecated.Unescapes a string containing entity escapes to a string containing the actual Unicode characters corresponding to the escapes.static final String
unescapeJava
(String input) Deprecated.Unescapes any Java literals found in theString
.static final String
unescapeJson
(String input) Deprecated.Unescapes any Json literals found in theString
.static final String
unescapeXml
(String input) Deprecated.Unescapes a string containing XML entity escapes to a string containing the actual Unicode characters corresponding to the escapes.
-
Field Details
-
ESCAPE_JAVA
Deprecated.Translator object for escaping Java. WhileescapeJava(String)
is the expected method of use, this object allows the Java escaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
ESCAPE_ECMASCRIPT
Deprecated.Translator object for escaping EcmaScript/JavaScript. WhileescapeEcmaScript(String)
is the expected method of use, this object allows the EcmaScript escaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
ESCAPE_JSON
Deprecated.Translator object for escaping Json. WhileescapeJson(String)
is the expected method of use, this object allows the Json escaping functionality to be used as the foundation for a custom translator.- Since:
- 3.2
-
ESCAPE_XML
Deprecated.useESCAPE_XML10
orESCAPE_XML11
instead.Translator object for escaping XML. WhileescapeXml(String)
is the expected method of use, this object allows the XML escaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
ESCAPE_XML10
Deprecated.Translator object for escaping XML 1.0. WhileescapeXml10(String)
is the expected method of use, this object allows the XML escaping functionality to be used as the foundation for a custom translator.- Since:
- 3.3
-
ESCAPE_XML11
Deprecated.Translator object for escaping XML 1.1. WhileescapeXml11(String)
is the expected method of use, this object allows the XML escaping functionality to be used as the foundation for a custom translator.- Since:
- 3.3
-
ESCAPE_HTML3
Deprecated.Translator object for escaping HTML version 3.0. WhileescapeHtml3(String)
is the expected method of use, this object allows the HTML escaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
ESCAPE_HTML4
Deprecated.Translator object for escaping HTML version 4.0. WhileescapeHtml4(String)
is the expected method of use, this object allows the HTML escaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
ESCAPE_CSV
Deprecated.Translator object for escaping individual Comma Separated Values. WhileescapeCsv(String)
is the expected method of use, this object allows the CSV escaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
UNESCAPE_JAVA
Deprecated.Translator object for unescaping escaped Java. WhileunescapeJava(String)
is the expected method of use, this object allows the Java unescaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
UNESCAPE_ECMASCRIPT
Deprecated.Translator object for unescaping escaped EcmaScript. WhileunescapeEcmaScript(String)
is the expected method of use, this object allows the EcmaScript unescaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
UNESCAPE_JSON
Deprecated.Translator object for unescaping escaped Json. WhileunescapeJson(String)
is the expected method of use, this object allows the Json unescaping functionality to be used as the foundation for a custom translator.- Since:
- 3.2
-
UNESCAPE_HTML3
Deprecated.Translator object for unescaping escaped HTML 3.0. WhileunescapeHtml3(String)
is the expected method of use, this object allows the HTML unescaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
UNESCAPE_HTML4
Deprecated.Translator object for unescaping escaped HTML 4.0. WhileunescapeHtml4(String)
is the expected method of use, this object allows the HTML unescaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
UNESCAPE_XML
Deprecated.Translator object for unescaping escaped XML. WhileunescapeXml(String)
is the expected method of use, this object allows the XML unescaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
UNESCAPE_CSV
Deprecated.Translator object for unescaping escaped Comma Separated Value entries. WhileunescapeCsv(String)
is the expected method of use, this object allows the CSV unescaping functionality to be used as the foundation for a custom translator.- Since:
- 3.0
-
-
Constructor Details
-
StringEscapeUtils
Deprecated.TODO Make private in 4.0.StringEscapeUtils
instances should NOT be constructed in standard programming.Instead, the class should be used as:
StringEscapeUtils.escapeJava("foo");
This constructor is public to permit tools that require a JavaBean instance to operate.
-
-
Method Details
-
escapeCsv
Deprecated.Returns aString
value for a CSV column enclosed in double quotes, if required.If the value contains a comma, newline or double quote, then the String value is returned enclosed in double quotes.
Any double quote characters in the value are escaped with another double quote.
If the value does not contain a comma, newline or double quote, then the String value is returned unchanged.
see Wikipedia and RFC 4180.- Parameters:
input
- the input CSV column String, may be null- Returns:
- the input String, enclosed in double quotes if the value contains a comma,
newline or double quote,
null
if null string input - Since:
- 2.4
-
escapeEcmaScript
Deprecated.Escapes the characters in aString
using EcmaScript String rules.Escapes any values it finds into their EcmaScript String form. Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)
So a tab becomes the characters
'\\'
and't'
.The only difference between Java strings and EcmaScript strings is that in EcmaScript, a single quote and forward-slash (/) are escaped.
Note that EcmaScript is best known by the JavaScript and ActionScript dialects.
Example:
input string: He didn't say, "Stop!" output string: He didn\'t say, \"Stop!\"
- Parameters:
input
- String to escape values in, may be null- Returns:
- String with escaped values,
null
if null string input - Since:
- 3.0
-
escapeHtml3
Deprecated.Escapes the characters in aString
using HTML entities.Supports only the HTML 3.0 entities.
-
escapeHtml4
Deprecated.Escapes the characters in aString
using HTML entities.For example:
becomes:"bread" & "butter"
"bread" & "butter"
.Supports all known HTML 4.0 entities, including funky accents. Note that the commonly used apostrophe escape character (') is not a legal entity and so is not supported).
-
escapeJava
Deprecated.Escapes the characters in aString
using Java String rules.Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)
So a tab becomes the characters
'\\'
and't'
.The only difference between Java strings and JavaScript strings is that in JavaScript, a single quote and forward-slash (/) are escaped.
Example:
input string: He didn't say, "Stop!" output string: He didn't say, \"Stop!\"
- Parameters:
input
- String to escape values in, may be null- Returns:
- String with escaped values,
null
if null string input
-
escapeJson
Deprecated.Escapes the characters in aString
using Json String rules.Escapes any values it finds into their Json String form. Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)
So a tab becomes the characters
'\\'
and't'
.The only difference between Java strings and Json strings is that in Json, forward-slash (/) is escaped.
See https://www.ietf.org/rfc/rfc4627.txt for further details.
Example:
input string: He didn't say, "Stop!" output string: He didn't say, \"Stop!\"
- Parameters:
input
- String to escape values in, may be null- Returns:
- String with escaped values,
null
if null string input - Since:
- 3.2
-
escapeXml
Deprecated.useescapeXml10(java.lang.String)
orescapeXml11(java.lang.String)
instead.Escapes the characters in aString
using XML entities.For example:
"bread" & "butter"
=>"bread" & "butter"
.Supports only the five basic XML entities (gt, lt, quot, amp, apos). Does not support DTDs or external entities.
Note that Unicode characters greater than 0x7f are as of 3.0, no longer escaped. If you still wish this functionality, you can achieve it via the following:
StringEscapeUtils.ESCAPE_XML.with( NumericEntityEscaper.between(0x7f, Integer.MAX_VALUE) );
-
escapeXml10
Deprecated.Escapes the characters in aString
using XML entities.For example:
"bread" & "butter"
=>"bread" & "butter"
.Note that XML 1.0 is a text-only format: it cannot represent control characters or unpaired Unicode surrogate code points, even after escaping.
escapeXml10
will remove characters that do not fit in the following ranges:#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
Though not strictly necessary,
escapeXml10
will escape characters in the following ranges:[#x7F-#x84] | [#x86-#x9F]
The returned string can be inserted into a valid XML 1.0 or XML 1.1 document. If you want to allow more non-text characters in an XML 1.1 document, use
escapeXml11(String)
. -
escapeXml11
Deprecated.Escapes the characters in aString
using XML entities.For example:
"bread" & "butter"
=>"bread" & "butter"
.XML 1.1 can represent certain control characters, but it cannot represent the null byte or unpaired Unicode surrogate code points, even after escaping.
escapeXml11
will remove characters that do not fit in the following ranges:[#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
escapeXml11
will escape characters in the following ranges:[#x1-#x8] | [#xB-#xC] | [#xE-#x1F] | [#x7F-#x84] | [#x86-#x9F]
The returned string can be inserted into a valid XML 1.1 document. Do not use it for XML 1.0 documents.
-
unescapeCsv
Deprecated.Returns aString
value for an unescaped CSV column.If the value is enclosed in double quotes, and contains a comma, newline or double quote, then quotes are removed.
Any double quote escaped characters (a pair of double quotes) are unescaped to just one double quote.
If the value is not enclosed in double quotes, or is and does not contain a comma, newline or double quote, then the String value is returned unchanged.
see Wikipedia and RFC 4180.- Parameters:
input
- the input CSV column String, may be null- Returns:
- the input String, with enclosing double quotes removed and embedded double
quotes unescaped,
null
if null string input - Since:
- 2.4
-
unescapeEcmaScript
Deprecated.Unescapes any EcmaScript literals found in theString
.For example, it will turn a sequence of
'\'
and'n'
into a newline character, unless the'\'
is preceded by another'\'
. -
unescapeHtml3
Deprecated.Unescapes a string containing entity escapes to a string containing the actual Unicode characters corresponding to the escapes. Supports only HTML 3.0 entities. -
unescapeHtml4
Deprecated.Unescapes a string containing entity escapes to a string containing the actual Unicode characters corresponding to the escapes. Supports HTML 4.0 entities.For example, the string
"<Français>"
will become"<Français>"
If an entity is unrecognized, it is left alone, and inserted verbatim into the result string. e.g.
">&zzzz;x"
will become">&zzzz;x"
. -
unescapeJava
Deprecated.Unescapes any Java literals found in theString
. For example, it will turn a sequence of'\'
and'n'
into a newline character, unless the'\'
is preceded by another'\'
. -
unescapeJson
Deprecated.Unescapes any Json literals found in theString
.For example, it will turn a sequence of
'\'
and'n'
into a newline character, unless the'\'
is preceded by another'\'
. -
unescapeXml
Deprecated.Unescapes a string containing XML entity escapes to a string containing the actual Unicode characters corresponding to the escapes.Supports only the five basic XML entities (gt, lt, quot, amp, apos). Does not support DTDs or external entities.
Note that numerical \\u Unicode codes are unescaped to their respective Unicode characters. This may change in future releases.
-