Skip to content

Escapes

Tomasz Kuryłek edited this page Feb 26, 2014 · 7 revisions

Escapes

Escapes contains five special methods to espace special characters for:

  • regular expression - public static String escapeRegexp(String value)
  • html - public static String escapeHtml(String value)
  • url - public static String escapeUrl(String value)
  • xml - public static String escapeXml(String value)
  • json - public static String escapeJson(String value)

Below are five examples, one for each method:

String value = "Ala has a cat.";
String escapedValue = Escapes.escapeRegexp(value); // Ala has a cat\.

String value = "First line<br />";
String escapedValue = Escapes.escapeHtml(value); // First line&lt;br &#047;&gt;

String value = "http://www.jsolve.pl/about us";
String escapedValue = Escapes.escapeUrl(value); // http://www.jsolve.pl/about%20us

String value = "<root><element id='1' /></root>";
String escapedValue = Escapes.escapeXml(value); // &lt;root&gt;&lt;element id=&#039;1&#039; /&gt;&lt;/root&gt;

String value = "{"id" : 1, "name" : "jsolve"}";
String escapedValue = Escapes.escapeJson(value); // {\\"id\\" : 1, \\"name\\" : \\"jsolve\\"}

You can also define special characters by yourself! It is extremely easy:

Map<Character, String> characters= Maps.newHashMap();
characters.put('\n', "<br />");

String value = "First line\nSecond line\nThird line\n";
String escapedValue = Escapes.escape(value, characters); // First line<br />Second line<br />Third line<br />

If you would like to use symbols already defined, you can get it:

Map<Character, String> urlspecials = Escapes.getUrlspecials();
urlspecials.put(',', ".");
Escapes.escape(value, urlspecials);

Note that always when retrieving existing characters, method returns a new map.

Clone this wiki locally