Class CharSetUtils

java.lang.Object
org.apache.commons.lang.CharSetUtils

public class CharSetUtils extends Object

Operations on CharSets.

This class handles null input gracefully. An exception will not be thrown for a null input. Each method documents its behaviour in more detail.

#ThreadSafe#

Since:
1.0
Version:
$Id: CharSetUtils.java 1057072 2011-01-10 01:55:57Z niallp $
See Also:
  • Constructor Details

    • CharSetUtils

      public CharSetUtils()

      CharSetUtils instances should NOT be constructed in standard programming. Instead, the class should be used as CharSetUtils.evaluateSet(null);.

      This constructor is public to permit tools that require a JavaBean instance to operate.

  • Method Details

    • evaluateSet

      public static CharSet evaluateSet(String[] set)
      Deprecated.
      Use CharSet.getInstance(String[]). Method will be removed in Commons Lang 3.0.

      Creates a CharSet instance which allows a certain amount of set logic to be performed.

      The syntax is:

      • "aeio" which implies 'a','e',..
      • "^e" implies not e.
      • "ej-m" implies e,j->m. e,j,k,l,m.
       CharSetUtils.evaluateSet(null)    = null
       CharSetUtils.evaluateSet([])      = CharSet matching nothing
       CharSetUtils.evaluateSet(["a-e"]) = CharSet matching a,b,c,d,e
       
      Parameters:
      set - the set, may be null
      Returns:
      a CharSet instance, null if null input
    • squeeze

      public static String squeeze(String str, String set)

      Squeezes any repetitions of a character that is mentioned in the supplied set.

       CharSetUtils.squeeze(null, *)        = null
       CharSetUtils.squeeze("", *)          = ""
       CharSetUtils.squeeze(*, null)        = *
       CharSetUtils.squeeze(*, "")          = *
       CharSetUtils.squeeze("hello", "k-p") = "helo"
       CharSetUtils.squeeze("hello", "a-e") = "hello"
       
      Parameters:
      str - the string to squeeze, may be null
      set - the character set to use for manipulation, may be null
      Returns:
      modified String, null if null string input
      See Also:
    • squeeze

      public static String squeeze(String str, String[] set)

      Squeezes any repetitions of a character that is mentioned in the supplied set.

      An example is:

      • squeeze("hello", {"el"}) => "helo"
      Parameters:
      str - the string to squeeze, may be null
      set - the character set to use for manipulation, may be null
      Returns:
      modified String, null if null string input
      See Also:
    • count

      public static int count(String str, String set)

      Takes an argument in set-syntax, see evaluateSet, and returns the number of characters present in the specified string.

       CharSetUtils.count(null, *)        = 0
       CharSetUtils.count("", *)          = 0
       CharSetUtils.count(*, null)        = 0
       CharSetUtils.count(*, "")          = 0
       CharSetUtils.count("hello", "k-p") = 3
       CharSetUtils.count("hello", "a-e") = 1
       
      Parameters:
      str - String to count characters in, may be null
      set - String set of characters to count, may be null
      Returns:
      character count, zero if null string input
      See Also:
    • count

      public static int count(String str, String[] set)

      Takes an argument in set-syntax, see evaluateSet, and returns the number of characters present in the specified string.

      An example would be:

      • count("hello", {"c-f", "o"}) returns 2.
      Parameters:
      str - String to count characters in, may be null
      set - String[] set of characters to count, may be null
      Returns:
      character count, zero if null string input
      See Also:
    • keep

      public static String keep(String str, String set)

      Takes an argument in set-syntax, see evaluateSet, and keeps any of characters present in the specified string.

       CharSetUtils.keep(null, *)        = null
       CharSetUtils.keep("", *)          = ""
       CharSetUtils.keep(*, null)        = ""
       CharSetUtils.keep(*, "")          = ""
       CharSetUtils.keep("hello", "hl")  = "hll"
       CharSetUtils.keep("hello", "le")  = "ell"
       
      Parameters:
      str - String to keep characters from, may be null
      set - String set of characters to keep, may be null
      Returns:
      modified String, null if null string input
      Since:
      2.0
      See Also:
    • keep

      public static String keep(String str, String[] set)

      Takes an argument in set-syntax, see evaluateSet, and keeps any of characters present in the specified string.

      An example would be:

      • keep("hello", {"c-f", "o"}) returns "eo"
      Parameters:
      str - String to keep characters from, may be null
      set - String[] set of characters to keep, may be null
      Returns:
      modified String, null if null string input
      Since:
      2.0
      See Also:
    • delete

      public static String delete(String str, String set)

      Takes an argument in set-syntax, see evaluateSet, and deletes any of characters present in the specified string.

       CharSetUtils.delete(null, *)        = null
       CharSetUtils.delete("", *)          = ""
       CharSetUtils.delete(*, null)        = *
       CharSetUtils.delete(*, "")          = *
       CharSetUtils.delete("hello", "hl")  = "eo"
       CharSetUtils.delete("hello", "le")  = "ho"
       
      Parameters:
      str - String to delete characters from, may be null
      set - String set of characters to delete, may be null
      Returns:
      modified String, null if null string input
      See Also:
    • delete

      public static String delete(String str, String[] set)

      Takes an argument in set-syntax, see evaluateSet, and deletes any of characters present in the specified string.

      An example would be:

      • delete("hello", {"c-f", "o"}) returns "hll"
      Parameters:
      str - String to delete characters from, may be null
      set - String[] set of characters to delete, may be null
      Returns:
      modified String, null if null string input
      See Also:
    • translate

      public static String translate(String str, String searchChars, String replaceChars)
      Deprecated.
      Use StringUtils.replaceChars(String, String, String). Method will be removed in Commons Lang 3.0. NOTE: StringUtils#replaceChars behaves differently when 'searchChars' is longer than 'replaceChars'. CharSetUtils#translate will use the last char of the replacement string whereas StringUtils#replaceChars will delete

      Translate characters in a String. This is a multi character search and replace routine.

      An example is:

      • translate("hello", "ho", "jy") => jelly

      If the length of characters to search for is greater than the length of characters to replace, then the last character is used.

       CharSetUtils.translate(null, *, *) = null
       CharSetUtils.translate("", *, *)   = ""
       
      Parameters:
      str - String to replace characters in, may be null
      searchChars - a set of characters to search for, must not be null
      replaceChars - a set of characters to replace, must not be null or empty ("")
      Returns:
      translated String, null if null string input
      Throws:
      NullPointerException - if searchChars or replaceChars is null
      ArrayIndexOutOfBoundsException - if replaceChars is empty ("")