org.apache.commons.lang
Class CharSetUtils

java.lang.Object
  extended byorg.apache.commons.lang.CharSetUtils

public class CharSetUtils
extends java.lang.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.

Since:
1.0
Version:
$Id: CharSetUtils.java 534588 2007-05-02 18:46:07Z bayard $
Author:
Stephen Colebourne, Phil Steitz, Gary Gregory
See Also:
CharSet

Constructor Summary
CharSetUtils()
          CharSetUtils instances should NOT be constructed in standard programming.
 
Method Summary
static int count(java.lang.String str, java.lang.String set)
          Takes an argument in set-syntax, see evaluateSet, and returns the number of characters present in the specified string.
static int count(java.lang.String str, java.lang.String[] set)
          Takes an argument in set-syntax, see evaluateSet, and returns the number of characters present in the specified string.
static java.lang.String delete(java.lang.String str, java.lang.String set)
          Takes an argument in set-syntax, see evaluateSet, and deletes any of characters present in the specified string.
static java.lang.String delete(java.lang.String str, java.lang.String[] set)
          Takes an argument in set-syntax, see evaluateSet, and deletes any of characters present in the specified string.
static CharSet evaluateSet(java.lang.String[] set)
          Deprecated. Use CharSet.getInstance(String[]). Method will be removed in Commons Lang 3.0.
static java.lang.String keep(java.lang.String str, java.lang.String set)
          Takes an argument in set-syntax, see evaluateSet, and keeps any of characters present in the specified string.
static java.lang.String keep(java.lang.String str, java.lang.String[] set)
          Takes an argument in set-syntax, see evaluateSet, and keeps any of characters present in the specified string.
static java.lang.String squeeze(java.lang.String str, java.lang.String set)
          Squeezes any repetitions of a character that is mentioned in the supplied set.
static java.lang.String squeeze(java.lang.String str, java.lang.String[] set)
          Squeezes any repetitions of a character that is mentioned in the supplied set.
static java.lang.String translate(java.lang.String str, java.lang.String searchChars, java.lang.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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

evaluateSet

public static CharSet evaluateSet(java.lang.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:

 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 java.lang.String squeeze(java.lang.String str,
                                       java.lang.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:
for set-syntax.

squeeze

public static java.lang.String squeeze(java.lang.String str,
                                       java.lang.String[] set)

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

An example is:

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:
for set-syntax.

count

public static int count(java.lang.String str,
                        java.lang.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:
for set-syntax.

count

public static int count(java.lang.String str,
                        java.lang.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:

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:
for set-syntax.

keep

public static java.lang.String keep(java.lang.String str,
                                    java.lang.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:
for set-syntax.

keep

public static java.lang.String keep(java.lang.String str,
                                    java.lang.String[] set)

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

An example would be:

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:
for set-syntax.

delete

public static java.lang.String delete(java.lang.String str,
                                      java.lang.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:
for set-syntax.

delete

public static java.lang.String delete(java.lang.String str,
                                      java.lang.String[] set)

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

An example would be:

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:
for set-syntax.

translate

public static java.lang.String translate(java.lang.String str,
                                         java.lang.String searchChars,
                                         java.lang.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:

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:
java.lang.NullPointerException - if searchChars or replaceChars is null
java.lang.ArrayIndexOutOfBoundsException - if replaceChars is empty ("")


Copyright 2001-2008 The Apache Software Foundation. All Rights Reserved.