Escapes and unescapes Strings for Java, Java Script, HTML and XML.
#ThreadSafe#
This code has been adapted from Apache Commons Lang 3.5.
| Modifier and Type | Class and Description |
|---|---|
| public static class | StringEscapeUtils.
Convenience wrapper for |
| pack-priv static class | StringEscapeUtils.
Translator object for unescaping backslash escaped entries. |
| Modifier and Type | Field and Description |
|---|---|
| public static final CharSequenceTranslator | ESCAPE_CSV
Translator object for escaping individual Comma Separated Values. |
| public static final CharSequenceTranslator | ESCAPE_ECMASCRIPT
Translator object for escaping EcmaScript/JavaScript. |
| public static final CharSequenceTranslator | ESCAPE_HTML3
Translator object for escaping HTML version 3.0. |
| public static final CharSequenceTranslator | ESCAPE_HTML4
Translator object for escaping HTML version 4.0. |
| public static final CharSequenceTranslator | ESCAPE_JAVA
Translator object for escaping Java. |
| public static final CharSequenceTranslator | ESCAPE_JSON
Translator object for escaping Json. |
| public static final CharSequenceTranslator | ESCAPE_XML10
Translator object for escaping XML 1.0. |
| public static final CharSequenceTranslator | ESCAPE_XML11
Translator object for escaping XML 1.1. |
| public static final CharSequenceTranslator | ESCAPE_XSI
Translator object for escaping Shell command language. |
| public static final CharSequenceTranslator | UNESCAPE_CSV
Translator object for unescaping escaped Comma Separated Value entries. |
| public static final CharSequenceTranslator | UNESCAPE_ECMASCRIPT
Translator object for unescaping escaped EcmaScript. |
| public static final CharSequenceTranslator | UNESCAPE_HTML3
Translator object for unescaping escaped HTML 3.0. |
| public static final CharSequenceTranslator | UNESCAPE_HTML4
Translator object for unescaping escaped HTML 4.0. |
| public static final CharSequenceTranslator | UNESCAPE_JAVA
Translator object for unescaping escaped Java. |
| public static final CharSequenceTranslator | UNESCAPE_JSON
Translator object for unescaping escaped Json. |
| public static final CharSequenceTranslator | UNESCAPE_XML
Translator object for unescaping escaped XML. |
| public static final CharSequenceTranslator | UNESCAPE_XSI
Translator object for unescaping escaped XSI Value entries. |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public static StringEscapeUtils. | |
| public static String | |
| public static String | Returns: String with escaped values,null if null string input.String to escape values in, may be null. input)Escapes the characters in a |
| public static String | Returns: a new escapedString, null if null string input.the input)String to escape, may be null.Escapes the characters in a |
| public static String | Returns: a new escapedString, null if null string input.the input)String to escape, may be null.Escapes the characters in a |
| public static String | Returns: String with escaped values,null if null string input.String to escape values in, may be null. input)Escapes the characters in a |
| public static String | Returns: String with escaped values,null if null string input.String to escape values in, may be null. input)Escapes the characters in a |
| public static String | Returns: a new escapedString, null if null string input.the input)String to escape, may be null.Escapes the characters in a |
| public static String | Returns: a new escapedString, null if null string input.the input)String to escape, may be null.Escapes the characters in a |
| public static String | |
| public static String | Returns: The input String, with enclosing double quotes removed and embedded double quotes unescaped,null if null string input.the input CSV column String, may be null. input)Returns a |
| public static String | Returns: A new unescapedString, null if null string input.the input)String to unescape, may be null.Unescapes any EcmaScript literals found in the |
| public static String | Returns: a new unescapedString, null if null string input.the input)String to unescape, may be null.Unescapes a string containing entity escapes to a string containing the actual Unicode characters corresponding to the escapes. |
| public static String | Returns: a new unescapedString, null if null string input.the input)String to unescape, may be null.Unescapes a string containing entity escapes to a string containing the actual Unicode characters corresponding to the escapes. |
| public static String | Returns: a new unescapedString, null if null string input.the input)String to unescape, may be null.Unescapes any Java literals found in the |
| public static String | Returns: A new unescapedString, null if null string input.the input)String to unescape, may be null.Unescapes any Json literals found in the |
| public static String | Returns: a new unescapedString, null if null string input.the input)String to unescape, may be null.Unescapes a string containing XML entity escapes to a string containing the actual Unicode characters corresponding to the escapes. |
| public static String | Returns: a new unescapedString, null if null string input.the input)String to unescape, may be null.Unescapes the characters in a |
| ESCAPE_CSV | back to summary |
|---|---|
| public static final CharSequenceTranslator ESCAPE_CSV Translator object for escaping individual Comma Separated Values.
While | |
| ESCAPE_ECMASCRIPT | back to summary |
|---|---|
| public static final CharSequenceTranslator ESCAPE_ECMASCRIPT Translator object for escaping EcmaScript/JavaScript.
While | |
| ESCAPE_HTML3 | back to summary |
|---|---|
| public static final CharSequenceTranslator ESCAPE_HTML3 Translator object for escaping HTML version 3.0.
While | |
| ESCAPE_HTML4 | back to summary |
|---|---|
| public static final CharSequenceTranslator ESCAPE_HTML4 Translator object for escaping HTML version 4.0.
While | |
| ESCAPE_JAVA | back to summary |
|---|---|
| public static final CharSequenceTranslator ESCAPE_JAVA Translator object for escaping Java.
While | |
| ESCAPE_JSON | back to summary |
|---|---|
| public static final CharSequenceTranslator ESCAPE_JSON Translator object for escaping Json.
While | |
| ESCAPE_XML10 | back to summary |
|---|---|
| public static final CharSequenceTranslator ESCAPE_XML10 Translator object for escaping XML 1.0.
While | |
| ESCAPE_XML11 | back to summary |
|---|---|
| public static final CharSequenceTranslator ESCAPE_XML11 Translator object for escaping XML 1.1.
While | |
| ESCAPE_XSI | back to summary |
|---|---|
| public static final CharSequenceTranslator ESCAPE_XSI Translator object for escaping Shell command language.
| |
| UNESCAPE_CSV | back to summary |
|---|---|
| public static final CharSequenceTranslator UNESCAPE_CSV Translator object for unescaping escaped Comma Separated Value entries.
While | |
| UNESCAPE_ECMASCRIPT | back to summary |
|---|---|
| public static final CharSequenceTranslator UNESCAPE_ECMASCRIPT Translator object for unescaping escaped EcmaScript.
While | |
| UNESCAPE_HTML3 | back to summary |
|---|---|
| public static final CharSequenceTranslator UNESCAPE_HTML3 Translator object for unescaping escaped HTML 3.0.
While | |
| UNESCAPE_HTML4 | back to summary |
|---|---|
| public static final CharSequenceTranslator UNESCAPE_HTML4 Translator object for unescaping escaped HTML 4.0.
While | |
| UNESCAPE_JAVA | back to summary |
|---|---|
| public static final CharSequenceTranslator UNESCAPE_JAVA Translator object for unescaping escaped Java.
While | |
| UNESCAPE_JSON | back to summary |
|---|---|
| public static final CharSequenceTranslator UNESCAPE_JSON Translator object for unescaping escaped Json.
While | |
| UNESCAPE_XML | back to summary |
|---|---|
| public static final CharSequenceTranslator UNESCAPE_XML Translator object for unescaping escaped XML.
While | |
| UNESCAPE_XSI | back to summary |
|---|---|
| public static final CharSequenceTranslator UNESCAPE_XSI Translator object for unescaping escaped XSI Value entries.
While | |
| StringEscapeUtils | back to summary |
|---|---|
| public StringEscapeUtils()
Instead, the class should be used as:
StringEscapeUtils.escapeJava("foo");
This constructor is public to permit tools that require a JavaBean instance to operate. | |
| builder | back to summary |
|---|---|
| public static StringEscapeUtils. Gets a
| |
| escapeCsv | back to summary |
|---|---|
| public static String escapeCsv(final String input) Returns a 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. | |
| escapeEcmaScript | back to summary |
|---|---|
| public static String escapeEcmaScript(final String input) Escapes the characters in a 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 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!\" Security Note We only provide backslash escaping in this method. For example, | |
| escapeHtml3 | back to summary |
|---|---|
| public static String escapeHtml3(final String input) Escapes the characters in a Supports only the HTML 3.0 entities. | |
| escapeHtml4 | back to summary |
|---|---|
| public static String escapeHtml4(final String input) Escapes the characters in a For example:
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 | back to summary |
|---|---|
| public static String escapeJava(final String input) Escapes the characters in a Deals correctly with quotes and control-chars (tab, backslash, cr, ff, etc.)
So a tab becomes the characters 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!\" | |
| escapeJson | back to summary |
|---|---|
| public static String escapeJson(final String input) Escapes the characters in a 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 The only difference between Java strings and Json strings is that in Json, forward-slash (/) is escaped. See http://www.ietf.org/rfc/rfc4627.txt for further details. Example: input string: He didn't say, "Stop!" output string: He didn't say, \"Stop!\" | |
| escapeXml10 | back to summary |
|---|---|
| public static String escapeXml10(final String input) Escapes the characters in a
For example:
Note that XML 1.0 is a text-only format: it cannot represent control characters or unpaired Unicode surrogate code points, even after escaping.
Though not strictly necessary,
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 | back to summary |
|---|---|
| public static String escapeXml11(final String input) Escapes the characters in a
For example:
XML 1.1 can represent certain control characters, but it cannot represent the null byte or unpaired Unicode surrogate code points, even after escaping.
The returned string can be inserted into a valid XML 1.1 document. Do not use it for XML 1.0 documents.
| |
| escapeXSI | back to summary |
|---|---|
| public static String escapeXSI(final String input) Escapes the characters in a
Beware! In most cases you don't want to escape shell commands but use multi-argument methods provided by Example: input string: He didn't say, "Stop!" output string: He\ didn\'t\ say,\ \"Stop!\"
| |
| unescapeCsv | back to summary |
|---|---|
| public static String unescapeCsv(final String input) Returns a 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. | |
| unescapeEcmaScript | back to summary |
|---|---|
| public static String unescapeEcmaScript(final String input) Unescapes any EcmaScript literals found in the
For example, it will turn a sequence of
| |
| unescapeHtml3 | back to summary |
|---|---|
| public static String unescapeHtml3(final String input) 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 | back to summary |
|---|---|
| public static String unescapeHtml4(final String input) 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
If an entity is unrecognized, it is left alone, and inserted verbatim into the result string. e.g. | |
| unescapeJava | back to summary |
|---|---|
| public static String unescapeJava(final String input) Unescapes any Java literals found in the | |
| unescapeJson | back to summary |
|---|---|
| public static String unescapeJson(final String input) Unescapes any Json literals found in the
For example, it will turn a sequence of
| |
| unescapeXml | back to summary |
|---|---|
| public static String unescapeXml(final String input) 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.
| |
| unescapeXSI | back to summary |
|---|---|
| public static String unescapeXSI(final String input) Unescapes the characters in a
| |
StringBuilder providing escape methods.
Example:
new Builder(ESCAPE_HTML4)
.append("<p>")
.escape("This is paragraph 1 and special chars like & get escaped.")
.append("</p><p>")
.escape("This is paragraph 2 & more...")
.append("</p>")
.toString()
| Modifier and Type | Field and Description |
|---|---|
| private final StringBuilder | sb
StringBuilder to be used in the Builder class. |
| private final CharSequenceTranslator | translator
CharSequenceTranslator to be used in the Builder class. |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public StringEscapeUtils. | |
| public StringEscapeUtils. | Returns: this, to enable chainingthe String to escape input)Escape |
| public String | Returns: The escaped stringOverrides java. Return the escaped string. |
| sb | back to summary |
|---|---|
| private final StringBuilder sb StringBuilder to be used in the Builder class. | |
| translator | back to summary |
|---|---|
| private final CharSequenceTranslator translator CharSequenceTranslator to be used in the Builder class. | |
| Builder | back to summary |
|---|---|
| private Builder(final CharSequenceTranslator translator) Builder constructor.
| |
| append | back to summary |
|---|---|
| public StringEscapeUtils. Literal append, no escaping being done.
| |
| escape | back to summary |
|---|---|
| public StringEscapeUtils. Escape
| |
| toString | back to summary |
|---|---|
| public String toString() Overrides java. Return the escaped string. | |
| Modifier and Type | Field and Description |
|---|---|
| private static final char | BACKSLASH
Escaped backslash constant. |
| Access | Constructor and Description |
|---|---|
| pack-priv |
| Modifier and Type | Method and Description |
|---|---|
| public int | translate(final CharSequence input, final int index, final Writer writer)
Implements abstract org. Translate a set of code points, represented by an int index into a CharSequence, into another set of code points. |
| BACKSLASH | back to summary |
|---|---|
| private static final char BACKSLASH Escaped backslash constant. | |
| XsiUnescaper | back to summary |
|---|---|
| pack-priv XsiUnescaper() | |
| translate | back to summary |
|---|---|
| public int translate(final CharSequence input, final int index, final Writer writer) throws IOException Implements abstract org. Doc from org. Translate a set of code points, represented by an int index into a CharSequence, into another set of code points. The number of code points consumed must be returned, and the only IOExceptions thrown must be from interacting with the Writer so that the top level API may reliably ignore StringWriter IOExceptions.
| |