Top Description Fields Constructors Methods
org.jooq.tools

public final Class StringUtils

extends Object
Class Inheritance
Imports
java.util.ArrayList, .Arrays, .Iterator, .Locale, java.util.regex.Matcher, .Pattern

Operations on java.lang.String that are null safe.

The StringUtils class defines certain words related to String handling.

StringUtils handles null input Strings quietly. That is to say that a null input will return null. Where a boolean or int is being returned details vary by method.

A side effect of the null handling is that a NullPointerException should be considered a bug in StringUtils (except for deprecated methods).

Methods in this class give sample code to explain their operation. The symbol * is used to indicate any input including null.

Authors
Apache Software Foundation, Apache Jakarta Turbine, Jon S. Stevens, Daniel L. Rall, Greg Coladonato, Ed Korthof, Rand McNeely, Fredrik Westermarck, Holger Krauth, Alexander Day Chaffee, Henning P. Schmiedehausen, Arun Mammen Thomas, Gary Gregory, Phil Steitz, Al Chou, Michael Davey, Reuben Sivan, Chris Hyzer, Scott Johnson
Since
1.0
Version
$Id: StringUtils.java 911986 2010-02-19 21:19:05Z niallp $
See Also
java.lang.String

Field Summary

Modifier and TypeField and Description
public static final String
EMPTY

The empty String "".

public static final int
INDEX_NOT_FOUND

Represents a failed index search.

private static final int
PAD_LIMIT

The maximum size to which the padding constant(s) can expand.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static String

Returns:

abbreviated String, null if null String input
abbreviate
(String
the String to check, may be null
str
,
int
maximum length of result String, must be at least 4
maxWidth
)

Abbreviates a String using ellipses.

public static String

Returns:

abbreviated String, null if null String input
abbreviate
(String
the String to check, may be null
str
,
int
left edge of source String
offset
,
int
maximum length of result String, must be at least 4
maxWidth
)

Abbreviates a String using ellipses.

public static boolean

Returns:

the true if any of the chars are found, false if no match or null input
containsAny
(String
the String to check, may be null
str
,
char...
the chars to search for, may be null
searchChars
)

Checks if the String contains any character in the given set of characters.

public static int

Returns:

the number of occurrences, 0 if either String is null
countMatches
(String
the String to check, may be null
str
,
String
the substring to count, may be null
sub
)

Counts how many times the substring appears in the larger String.

public static String

Returns:

the passed in CharSequence, or the default
defaultIfBlank
(String
the CharSequence to check, may be null
str
,
String
the default CharSequence to return if the input is whitespace, empty ("") or null, may be null
defaultStr
)

Returns either the passed in CharSequence, or if the CharSequence is whitespace, empty ("") or null, the value of defaultStr.

public static String

Returns:

the passed in String, or the default
defaultIfEmpty
(String
the String to check, may be null
str
,
String
the default String to return if the input is empty ("") or null, may be null
defaultStr
)

Returns either the passed in String, or if the String is empty or null, the value of defaultStr.

public static <
the type of the object
T
>
T

Returns:

object if it is not null, defaultValue otherwise
defaultIfNull
(T
the Object to test, may be null
object
,
T
the default value to return, may be null
defaultValue
)

Returns a default value if the object passed is null.

public static String

Returns:

the passed in String, or the empty String if it was null
defaultString
(String
the String to check, may be null
str
)

Returns either the passed in String, or if the String is null, an empty String ("").

public static String

Returns:

the passed in String, or the default if it was null
defaultString
(String
the String to check, may be null
str
,
String
the default String to return if the input is null, may be null
defaultStr
)

Returns either the passed in String, or if the String is null, the value of defaultStr.

public static boolean

Returns:

true if the values of both objects are the same
equals
(String
the first object, may be null
o1
,
String
the second object, may be null
o2
)

Compares two strings for equality, where either one or both objects may be null.

public static boolean

Returns:

true if the values of both objects are the same
equals
(Object
the first object, may be null
o1
,
Object
the second object, may be null
o2
)

Compares two objects for deep equality, where either one or both objects may be null.

public static <
the type of the objects
T
>
T

Returns:

first non-null element in objects, otherwise null
firstNonNull
(T...
the elements to test, may not be null but empty
objects
)

Returns the first non-null argument.

public static boolean

Returns:

true if the String is null, empty or whitespace
isBlank
(String
the String to check, may be null
str
)

Checks if a String is whitespace, empty ("") or null.

public static boolean

Returns:

true if the String is empty or null
isEmpty
(String
the String to check, may be null
str
)

Checks if a String is empty ("") or null.

public static <
the specific type of values to join together
T
>
String

Returns:

the joined String, null if null array input
join
(T...
the values to join together, may be null
elements
)

Joins the elements of the provided array into a single String containing the provided list of elements.

public static String

Returns:

the joined String, null if null array input
join
(Object[]
the array of values to join together, may be null
array
,
char
the separator character to use
separator
)

Joins the elements of the provided array into a single String containing the provided list of elements.

public static String

Returns:

the joined String, null if null array input
join
(Object[]
the array of values to join together, may be null
array
,
char
the separator character to use
separator
,
int
the first index to start joining from. It is an error to pass in an end index past the end of the array
startIndex
,
int
the index to stop joining from (exclusive). It is an error to pass in an end index past the end of the array
endIndex
)

Joins the elements of the provided array into a single String containing the provided list of elements.

public static String

Returns:

the joined String, null if null array input
join
(Object[]
the array of values to join together, may be null
array
,
String
the separator character to use, null treated as ""
separator
)

Joins the elements of the provided array into a single String containing the provided list of elements.

public static String

Returns:

the joined String, null if null array input
join
(Object[]
the array of values to join together, may be null
array
,
String
the separator character to use, null treated as ""
separator
,
int
the first index to start joining from. It is an error to pass in an end index past the end of the array
startIndex
,
int
the index to stop joining from (exclusive). It is an error to pass in an end index past the end of the array
endIndex
)

Joins the elements of the provided array into a single String containing the provided list of elements.

public static String

Returns:

left padded String or original String if no padding is necessary, null if null String input
leftPad
(String
the String to pad out, may be null
str
,
int
the size to pad to
size
)

Left pad a String with spaces (' ').

public static String
leftPad(String str, int strSize, int size)

public static String

Returns:

left padded String or original String if no padding is necessary, null if null String input
leftPad
(String
the String to pad out, may be null
str
,
int
the size to pad to
size
,
char
the character to pad with
padChar
)

Left pad a String with a specified character.

public static String
leftPad(String str, int strSize, int size, char padChar)

public static String

Returns:

left padded String or original String if no padding is necessary, null if null String input
leftPad
(String
the String to pad out, may be null
str
,
int
the size to pad to
size
,
String
the String to pad with, null or empty treated as single space
padStr
)

Left pad a String with a specified String.

public static String
leftPad(String str, int strSize, int size, String padStr)

private static String

Returns:

String with repeated character
padding
(int
number of times to repeat delim
repeat
,
char
character to repeat
padChar
)

Returns padding using the specified delimiter repeated to a given length.

public static String

Returns:

the text with any replacements processed, null if null String input
replace
(String
text to search and replace in, may be null
text
,
String
the String to search for, may be null
searchString
,
String
the String to replace it with, may be null
replacement
)

Replaces all occurrences of a String within another String.

public static String

Returns:

the text with any replacements processed, null if null String input
replace
(String
text to search and replace in, may be null
text
,
String
the String to search for, may be null
searchString
,
String
the String to replace it with, may be null
replacement
,
int
maximum number of values to replace, or -1 if no maximum
max
)

Replaces a String with another String inside a larger String, for the first max values of the search String.

public static String

Returns:

the text with any replacements processed, null if null String input
replaceEach
(String
text to search and replace in, no-op if null
text
,
String[]
the Strings to search for, no-op if null
searchList
,
String[]
the Strings to replace them with, no-op if null
replacementList
)

Replaces all occurrences of Strings within another String.

private static String

Returns:

the text with any replacements processed, null if null String input
replaceEach
(String
text to search and replace in, no-op if null
text
,
String[]
the Strings to search for, no-op if null
searchList
,
String[]
the Strings to replace them with, no-op if null
replacementList
,
boolean
if true, then replace repeatedly until there are no more possible replacements or timeToLive < 0
repeat
,
int
if less than 0 then there is a circular reference and endless loop
timeToLive
)

Replaces all occurrences of Strings within another String.

public static String

Returns:

right padded String or original String if no padding is necessary, null if null String input
rightPad
(String
the String to pad out, may be null
str
,
int
the size to pad to
size
)

Right pad a String with spaces (' ').

public static String
rightPad(String str, int strSize, int size)

public static String

Returns:

right padded String or original String if no padding is necessary, null if null String input
rightPad
(String
the String to pad out, may be null
str
,
int
the size to pad to
size
,
char
the character to pad with
padChar
)

Right pad a String with a specified character.

public static String
rightPad(String str, int strSize, int size, char padChar)

public static String

Returns:

right padded String or original String if no padding is necessary, null if null String input
rightPad
(String
the String to pad out, may be null
str
,
int
the size to pad to
size
,
String
the String to pad with, null or empty treated as single space
padStr
)

Right pad a String with a specified String.

public static String
rightPad(String str, int strSize, int size, String padStr)

public static String[]
split(String regex, CharSequence input)

A custom adaptation of Pattern#split(CharSequence, int).

public static String
toCamelCase(String string)

Convert a string to camel case

public static String
toCamelCaseLC(String string)

Convert a string to camel case starting with a lower case letter

public static String
toLC(String string)

Change a string's first letter to lower case

public static String
toLC(String string, Locale locale)

Change a string's first letter to lower case

public static String
toUC(String string)

Change a string's first letter to upper case

public static String
toUC(String string, Locale locale)

Change a string's first letter to upper case

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

EMPTYback to summary
public static final String EMPTY

The empty String "".

Since
2.0
INDEX_NOT_FOUNDback to summary
public static final int INDEX_NOT_FOUND

Represents a failed index search.

Since
2.1
PAD_LIMITback to summary
private static final int PAD_LIMIT

The maximum size to which the padding constant(s) can expand.

Constructor Detail

StringUtilsback to summary
private StringUtils()

Method Detail

abbreviateback to summary
public static String abbreviate(String str, int maxWidth)

Abbreviates a String using ellipses. This will turn "Now is the time for all good men" into "Now is the time for..."

Specifically:

  • If str is less than maxWidth characters long, return it.
  • Else abbreviate it to (substring(str, 0, max-3) + "…").
  • If maxWidth is less than 4, throw an IllegalArgumentException.
  • In no case will it return a String of length greater than maxWidth.
StringUtils.abbreviate(null, *)      = null
StringUtils.abbreviate("", 4)        = ""
StringUtils.abbreviate("abcdefg", 6) = "abc..."
StringUtils.abbreviate("abcdefg", 7) = "abcdefg"
StringUtils.abbreviate("abcdefg", 8) = "abcdefg"
StringUtils.abbreviate("abcdefg", 4) = "a..."
StringUtils.abbreviate("abcdefg", 3) = IllegalArgumentException
Parameters
str:String

the String to check, may be null

maxWidth:int

maximum length of result String, must be at least 4

Returns:String

abbreviated String, null if null String input

Exceptions
IllegalArgumentException:
if the width is too small
Since
2.0
abbreviateback to summary
public static String abbreviate(String str, int offset, int maxWidth)

Abbreviates a String using ellipses. This will turn "Now is the time for all good men" into "...is the time for..."

Works like abbreviate(String, int), but allows you to specify a "left edge" offset. Note that this left edge is not necessarily going to be the leftmost character in the result, or the first character following the ellipses, but it will appear somewhere in the result.

In no case will it return a String of length greater than maxWidth.

StringUtils.abbreviate(null, *, *)                = null
StringUtils.abbreviate("", 0, 4)                  = ""
StringUtils.abbreviate("abcdefghijklmno", -1, 10) = "abcdefg..."
StringUtils.abbreviate("abcdefghijklmno", 0, 10)  = "abcdefg..."
StringUtils.abbreviate("abcdefghijklmno", 1, 10)  = "abcdefg..."
StringUtils.abbreviate("abcdefghijklmno", 4, 10)  = "abcdefg..."
StringUtils.abbreviate("abcdefghijklmno", 5, 10)  = "...fghi..."
StringUtils.abbreviate("abcdefghijklmno", 6, 10)  = "...ghij..."
StringUtils.abbreviate("abcdefghijklmno", 8, 10)  = "...ijklmno"
StringUtils.abbreviate("abcdefghijklmno", 10, 10) = "...ijklmno"
StringUtils.abbreviate("abcdefghijklmno", 12, 10) = "...ijklmno"
StringUtils.abbreviate("abcdefghij", 0, 3)        = IllegalArgumentException
StringUtils.abbreviate("abcdefghij", 5, 6)        = IllegalArgumentException
Parameters
str:String

the String to check, may be null

offset:int

left edge of source String

maxWidth:int

maximum length of result String, must be at least 4

Returns:String

abbreviated String, null if null String input

Exceptions
IllegalArgumentException:
if the width is too small
Since
2.0
containsAnyback to summary
public static boolean containsAny(String str, char... searchChars)

Checks if the String contains any character in the given set of characters.

A null String will return false. A null or zero length search array will return false.

StringUtils.containsAny(null, *)                = false
StringUtils.containsAny("", *)                  = false
StringUtils.containsAny(*, null)                = false
StringUtils.containsAny(*, [])                  = false
StringUtils.containsAny("zzabyycdxx",['z','a']) = true
StringUtils.containsAny("zzabyycdxx",['b','y']) = true
StringUtils.containsAny("aba", ['z'])           = false
Parameters
str:String

the String to check, may be null

searchChars:char[]

the chars to search for, may be null

Returns:boolean

the true if any of the chars are found, false if no match or null input

Since
2.4
countMatchesback to summary
public static int countMatches(String str, String sub)

Counts how many times the substring appears in the larger String.

A null or empty ("") String input returns 0.

StringUtils.countMatches(null, *)       = 0
StringUtils.countMatches("", *)         = 0
StringUtils.countMatches("abba", null)  = 0
StringUtils.countMatches("abba", "")    = 0
StringUtils.countMatches("abba", "a")   = 2
StringUtils.countMatches("abba", "ab")  = 1
StringUtils.countMatches("abba", "xxx") = 0
Parameters
str:String

the String to check, may be null

sub:String

the substring to count, may be null

Returns:int

the number of occurrences, 0 if either String is null

defaultIfBlankback to summary
public static String defaultIfBlank(String str, String defaultStr)

Returns either the passed in CharSequence, or if the CharSequence is whitespace, empty ("") or null, the value of defaultStr.

StringUtils.defaultIfBlank(null, "NULL")  = "NULL"
StringUtils.defaultIfBlank("", "NULL")    = "NULL"
StringUtils.defaultIfBlank(" ", "NULL")   = "NULL"
StringUtils.defaultIfBlank("bat", "NULL") = "bat"
StringUtils.defaultIfBlank("", null)      = null
Parameters
str:String

the CharSequence to check, may be null

defaultStr:String

the default CharSequence to return if the input is whitespace, empty ("") or null, may be null

Returns:String

the passed in CharSequence, or the default

See Also
StringUtils#defaultString(String, String)
defaultIfEmptyback to summary
public static String defaultIfEmpty(String str, String defaultStr)

Returns either the passed in String, or if the String is empty or null, the value of defaultStr.

StringUtils.defaultIfEmpty(null, "NULL")  = "NULL"
StringUtils.defaultIfEmpty("", "NULL")    = "NULL"
StringUtils.defaultIfEmpty("bat", "NULL") = "bat"
Parameters
str:String

the String to check, may be null

defaultStr:String

the default String to return if the input is empty ("") or null, may be null

Returns:String

the passed in String, or the default

See Also
StringUtils#defaultString(String, String)
defaultIfNullback to summary
public static <T> T defaultIfNull(T object, T defaultValue)

Returns a default value if the object passed is null.

ObjectUtils.defaultIfNull(null, null)      = null
ObjectUtils.defaultIfNull(null, "")        = ""
ObjectUtils.defaultIfNull(null, "zz")      = "zz"
ObjectUtils.defaultIfNull("abc", *)        = "abc"
ObjectUtils.defaultIfNull(Boolean.TRUE, *) = Boolean.TRUE
Parameters
<T>
the type of the object
object:T

the Object to test, may be null

defaultValue:T

the default value to return, may be null

Returns:T

object if it is not null, defaultValue otherwise

defaultStringback to summary
public static String defaultString(String str)

Returns either the passed in String, or if the String is null, an empty String ("").

StringUtils.defaultString(null)  = ""
StringUtils.defaultString("")    = ""
StringUtils.defaultString("bat") = "bat"
Parameters
str:String

the String to check, may be null

Returns:String

the passed in String, or the empty String if it was null

See Also
String#valueOf(Object)
defaultStringback to summary
public static String defaultString(String str, String defaultStr)

Returns either the passed in String, or if the String is null, the value of defaultStr.

StringUtils.defaultString(null, "NULL")  = "NULL"
StringUtils.defaultString("", "NULL")    = ""
StringUtils.defaultString("bat", "NULL") = "bat"
Parameters
str:String

the String to check, may be null

defaultStr:String

the default String to return if the input is null, may be null

Returns:String

the passed in String, or the default if it was null

See Also
String#valueOf(Object)
equalsback to summary
public static boolean equals(String o1, String o2)

Compares two strings for equality, where either one or both objects may be null.

ObjectUtils.equals(null, null)                  = true
ObjectUtils.equals(null, "")                    = false
ObjectUtils.equals("", null)                    = false
ObjectUtils.equals("", "")                      = true
Parameters
o1:String

the first object, may be null

o2:String

the second object, may be null

Returns:boolean

true if the values of both objects are the same

equalsback to summary
public static boolean equals(Object o1, Object o2)

Compares two objects for deep equality, where either one or both objects may be null.

ObjectUtils.equals(null, null)                  = true
ObjectUtils.equals(null, "")                    = false
ObjectUtils.equals("", null)                    = false
ObjectUtils.equals("", "")                      = true
ObjectUtils.equals(Boolean.TRUE, null)          = false
ObjectUtils.equals(Boolean.TRUE, "true")        = false
ObjectUtils.equals(Boolean.TRUE, Boolean.TRUE)  = true
ObjectUtils.equals(Boolean.TRUE, Boolean.FALSE) = false
Parameters
o1:Object

the first object, may be null

o2:Object

the second object, may be null

Returns:boolean

true if the values of both objects are the same

firstNonNullback to summary
public static <T> T firstNonNull(T... objects)

Returns the first non-null argument.

Parameters
<T>
the type of the objects
objects:T[]

the elements to test, may not be null but empty

Returns:T

first non-null element in objects, otherwise null

Annotations
@SafeVarargs
isBlankback to summary
public static boolean isBlank(String str)

Checks if a String is whitespace, empty ("") or null.

StringUtils.isBlank(null)      = true
StringUtils.isBlank("")        = true
StringUtils.isBlank(" ")       = true
StringUtils.isBlank("bob")     = false
StringUtils.isBlank("  bob  ") = false
Parameters
str:String

the String to check, may be null

Returns:boolean

true if the String is null, empty or whitespace

Since
2.0
isEmptyback to summary
public static boolean isEmpty(String str)

Checks if a String is empty ("") or null.

StringUtils.isEmpty(null)      = true
StringUtils.isEmpty("")        = true
StringUtils.isEmpty(" ")       = false
StringUtils.isEmpty("bob")     = false
StringUtils.isEmpty("  bob  ") = false

Note

This method changed in Lang version 2.0. It no longer trims the String. That functionality is available in isBlank().

Parameters
str:String

the String to check, may be null

Returns:boolean

true if the String is empty or null

joinback to summary
public static <T> String join(T... elements)

Joins the elements of the provided array into a single String containing the provided list of elements.

No separator is added to the joined String. Null objects or empty strings within the array are represented by empty strings.

StringUtils.join(null)            = null
StringUtils.join([])              = ""
StringUtils.join([null])          = ""
StringUtils.join(["a", "b", "c"]) = "abc"
StringUtils.join([null, "", "a"]) = "a"
Parameters
<T>
the specific type of values to join together
elements:T[]

the values to join together, may be null

Returns:String

the joined String, null if null array input

Annotations
@SafeVarargs
Since
2.0, 3.0 Changed signature to use varargs
joinback to summary
public static String join(Object[] array, char separator)

Joins the elements of the provided array into a single String containing the provided list of elements.

No delimiter is added before or after the list. Null objects or empty strings within the array are represented by empty strings.

StringUtils.join(null, *)               = null
StringUtils.join([], *)                 = ""
StringUtils.join([null], *)             = ""
StringUtils.join(["a", "b", "c"], ';')  = "a;b;c"
StringUtils.join(["a", "b", "c"], null) = "abc"
StringUtils.join([null, "", "a"], ';')  = ";;a"
Parameters
array:Object[]

the array of values to join together, may be null

separator:char

the separator character to use

Returns:String

the joined String, null if null array input

Since
2.0
joinback to summary
public static String join(Object[] array, char separator, int startIndex, int endIndex)

Joins the elements of the provided array into a single String containing the provided list of elements.

No delimiter is added before or after the list. Null objects or empty strings within the array are represented by empty strings.

StringUtils.join(null, *)               = null
StringUtils.join([], *)                 = ""
StringUtils.join([null], *)             = ""
StringUtils.join(["a", "b", "c"], ';')  = "a;b;c"
StringUtils.join(["a", "b", "c"], null) = "abc"
StringUtils.join([null, "", "a"], ';')  = ";;a"
Parameters
array:Object[]

the array of values to join together, may be null

separator:char

the separator character to use

startIndex:int

the first index to start joining from. It is an error to pass in an end index past the end of the array

endIndex:int

the index to stop joining from (exclusive). It is an error to pass in an end index past the end of the array

Returns:String

the joined String, null if null array input

Since
2.0
joinback to summary
public static String join(Object[] array, String separator)

Joins the elements of the provided array into a single String containing the provided list of elements.

No delimiter is added before or after the list. A null separator is the same as an empty String (""). Null objects or empty strings within the array are represented by empty strings.

StringUtils.join(null, *)                = null
StringUtils.join([], *)                  = ""
StringUtils.join([null], *)              = ""
StringUtils.join(["a", "b", "c"], "--")  = "a--b--c"
StringUtils.join(["a", "b", "c"], null)  = "abc"
StringUtils.join(["a", "b", "c"], "")    = "abc"
StringUtils.join([null, "", "a"], ',')   = ",,a"
Parameters
array:Object[]

the array of values to join together, may be null

separator:String

the separator character to use, null treated as ""

Returns:String

the joined String, null if null array input

joinback to summary
public static String join(Object[] array, String separator, int startIndex, int endIndex)

Joins the elements of the provided array into a single String containing the provided list of elements.

No delimiter is added before or after the list. A null separator is the same as an empty String (""). Null objects or empty strings within the array are represented by empty strings.

StringUtils.join(null, *)                = null
StringUtils.join([], *)                  = ""
StringUtils.join([null], *)              = ""
StringUtils.join(["a", "b", "c"], "--")  = "a--b--c"
StringUtils.join(["a", "b", "c"], null)  = "abc"
StringUtils.join(["a", "b", "c"], "")    = "abc"
StringUtils.join([null, "", "a"], ',')   = ",,a"
Parameters
array:Object[]

the array of values to join together, may be null

separator:String

the separator character to use, null treated as ""

startIndex:int

the first index to start joining from. It is an error to pass in an end index past the end of the array

endIndex:int

the index to stop joining from (exclusive). It is an error to pass in an end index past the end of the array

Returns:String

the joined String, null if null array input

leftPadback to summary
public static String leftPad(String str, int size)

Left pad a String with spaces (' ').

The String is padded to the size of size.

StringUtils.leftPad(null, *)   = null
StringUtils.leftPad("", 3)     = "   "
StringUtils.leftPad("bat", 3)  = "bat"
StringUtils.leftPad("bat", 5)  = "  bat"
StringUtils.leftPad("bat", 1)  = "bat"
StringUtils.leftPad("bat", -1) = "bat"
Parameters
str:String

the String to pad out, may be null

size:int

the size to pad to

Returns:String

left padded String or original String if no padding is necessary, null if null String input

leftPadback to summary
public static String leftPad(String str, int strSize, int size)
leftPadback to summary
public static String leftPad(String str, int size, char padChar)

Left pad a String with a specified character.

Pad to a size of size.

StringUtils.leftPad(null, *, *)     = null
StringUtils.leftPad("", 3, 'z')     = "zzz"
StringUtils.leftPad("bat", 3, 'z')  = "bat"
StringUtils.leftPad("bat", 5, 'z')  = "zzbat"
StringUtils.leftPad("bat", 1, 'z')  = "bat"
StringUtils.leftPad("bat", -1, 'z') = "bat"
Parameters
str:String

the String to pad out, may be null

size:int

the size to pad to

padChar:char

the character to pad with

Returns:String

left padded String or original String if no padding is necessary, null if null String input

Since
2.0
leftPadback to summary
public static String leftPad(String str, int strSize, int size, char padChar)
leftPadback to summary
public static String leftPad(String str, int size, String padStr)

Left pad a String with a specified String.

Pad to a size of size.

StringUtils.leftPad(null, *, *)      = null
StringUtils.leftPad("", 3, "z")      = "zzz"
StringUtils.leftPad("bat", 3, "yz")  = "bat"
StringUtils.leftPad("bat", 5, "yz")  = "yzbat"
StringUtils.leftPad("bat", 8, "yz")  = "yzyzybat"
StringUtils.leftPad("bat", 1, "yz")  = "bat"
StringUtils.leftPad("bat", -1, "yz") = "bat"
StringUtils.leftPad("bat", 5, null)  = "  bat"
StringUtils.leftPad("bat", 5, "")    = "  bat"
Parameters
str:String

the String to pad out, may be null

size:int

the size to pad to

padStr:String

the String to pad with, null or empty treated as single space

Returns:String

left padded String or original String if no padding is necessary, null if null String input

leftPadback to summary
public static String leftPad(String str, int strSize, int size, String padStr)
paddingback to summary
private static String padding(int repeat, char padChar) throws IndexOutOfBoundsException

Returns padding using the specified delimiter repeated to a given length.

StringUtils.padding(0, 'e')  = ""
StringUtils.padding(3, 'e')  = "eee"
StringUtils.padding(-2, 'e') = IndexOutOfBoundsException

Note

this method doesn't not support padding with Unicode Supplementary Characters as they require a pair of chars to be represented. If you are needing to support full I18N of your applications consider using repeat(String, int) instead.

Parameters
repeat:int

number of times to repeat delim

padChar:char

character to repeat

Returns:String

String with repeated character

Exceptions
IndexOutOfBoundsException:
if repeat < 0
replaceback to summary
public static String replace(String text, String searchString, String replacement)

Replaces all occurrences of a String within another String.

A null reference passed to this method is a no-op.

StringUtils.replace(null, *, *)        = null
StringUtils.replace("", *, *)          = ""
StringUtils.replace("any", null, *)    = "any"
StringUtils.replace("any", *, null)    = "any"
StringUtils.replace("any", "", *)      = "any"
StringUtils.replace("aba", "a", null)  = "aba"
StringUtils.replace("aba", "a", "")    = "b"
StringUtils.replace("aba", "a", "z")   = "zbz"
Parameters
text:String

text to search and replace in, may be null

searchString:String

the String to search for, may be null

replacement:String

the String to replace it with, may be null

Returns:String

the text with any replacements processed, null if null String input

See Also
replace(String text, String searchString, String replacement, int max)
replaceback to summary
public static String replace(String text, String searchString, String replacement, int max)

Replaces a String with another String inside a larger String, for the first max values of the search String.

A null reference passed to this method is a no-op.

StringUtils.replace(null, *, *, *)         = null
StringUtils.replace("", *, *, *)           = ""
StringUtils.replace("any", null, *, *)     = "any"
StringUtils.replace("any", *, null, *)     = "any"
StringUtils.replace("any", "", *, *)       = "any"
StringUtils.replace("any", *, *, 0)        = "any"
StringUtils.replace("abaa", "a", null, -1) = "abaa"
StringUtils.replace("abaa", "a", "", -1)   = "b"
StringUtils.replace("abaa", "a", "z", 0)   = "abaa"
StringUtils.replace("abaa", "a", "z", 1)   = "zbaa"
StringUtils.replace("abaa", "a", "z", 2)   = "zbza"
StringUtils.replace("abaa", "a", "z", -1)  = "zbzz"
Parameters
text:String

text to search and replace in, may be null

searchString:String

the String to search for, may be null

replacement:String

the String to replace it with, may be null

max:int

maximum number of values to replace, or -1 if no maximum

Returns:String

the text with any replacements processed, null if null String input

replaceEachback to summary
public static String replaceEach(String text, String[] searchList, String[] replacementList)

Replaces all occurrences of Strings within another String.

A null reference passed to this method is a no-op, or if any "search string" or "string to replace" is null, that replace will be ignored. This will not repeat. For repeating replaces, call the overloaded method.

 StringUtils.replaceEach(null, *, *)        = null
 StringUtils.replaceEach("", *, *)          = ""
 StringUtils.replaceEach("aba", null, null) = "aba"
 StringUtils.replaceEach("aba", new String[0], null) = "aba"
 StringUtils.replaceEach("aba", null, new String[0]) = "aba"
 StringUtils.replaceEach("aba", new String[]{"a"}, null)  = "aba"
 StringUtils.replaceEach("aba", new String[]{"a"}, new String[]{""})  = "b"
 StringUtils.replaceEach("aba", new String[]{null}, new String[]{"a"})  = "aba"
 StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"})  = "wcte"
 (example of how it does not repeat)
 StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"})  = "dcte"
Parameters
text:String

text to search and replace in, no-op if null

searchList:String[]

the Strings to search for, no-op if null

replacementList:String[]

the Strings to replace them with, no-op if null

Returns:String

the text with any replacements processed, null if null String input

Exceptions
IndexOutOfBoundsException:
if the lengths of the arrays are not the same (null is ok, and/or size 0)
Since
2.4
replaceEachback to summary
private static String replaceEach(String text, String[] searchList, String[] replacementList, boolean repeat, int timeToLive)

Replaces all occurrences of Strings within another String.

A null reference passed to this method is a no-op, or if any "search string" or "string to replace" is null, that replace will be ignored.

 StringUtils.replaceEach(null, *, *, *) = null
 StringUtils.replaceEach("", *, *, *) = ""
 StringUtils.replaceEach("aba", null, null, *) = "aba"
 StringUtils.replaceEach("aba", new String[0], null, *) = "aba"
 StringUtils.replaceEach("aba", null, new String[0], *) = "aba"
 StringUtils.replaceEach("aba", new String[]{"a"}, null, *) = "aba"
 StringUtils.replaceEach("aba", new String[]{"a"}, new String[]{""}, *) = "b"
 StringUtils.replaceEach("aba", new String[]{null}, new String[]{"a"}, *) = "aba"
 StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}, *) = "wcte"
 (example of how it repeats)
 StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}, false) = "dcte"
 StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}, true) = "tcte"
 StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "ab"}, *) = IllegalArgumentException
Parameters
text:String

text to search and replace in, no-op if null

searchList:String[]

the Strings to search for, no-op if null

replacementList:String[]

the Strings to replace them with, no-op if null

repeat:boolean

if true, then replace repeatedly until there are no more possible replacements or timeToLive < 0

timeToLive:int

if less than 0 then there is a circular reference and endless loop

Returns:String

the text with any replacements processed, null if null String input

Exceptions
IllegalArgumentException:
if the search is repeating and there is an endless loop due to outputs of one being inputs to another
IndexOutOfBoundsException:
if the lengths of the arrays are not the same (null is ok, and/or size 0)
Since
2.4
rightPadback to summary
public static String rightPad(String str, int size)

Right pad a String with spaces (' ').

The String is padded to the size of size.

StringUtils.rightPad(null, *)   = null
StringUtils.rightPad("", 3)     = "   "
StringUtils.rightPad("bat", 3)  = "bat"
StringUtils.rightPad("bat", 5)  = "bat  "
StringUtils.rightPad("bat", 1)  = "bat"
StringUtils.rightPad("bat", -1) = "bat"
Parameters
str:String

the String to pad out, may be null

size:int

the size to pad to

Returns:String

right padded String or original String if no padding is necessary, null if null String input

rightPadback to summary
public static String rightPad(String str, int strSize, int size)
rightPadback to summary
public static String rightPad(String str, int size, char padChar)

Right pad a String with a specified character.

The String is padded to the size of size.

StringUtils.rightPad(null, *, *)     = null
StringUtils.rightPad("", 3, 'z')     = "zzz"
StringUtils.rightPad("bat", 3, 'z')  = "bat"
StringUtils.rightPad("bat", 5, 'z')  = "batzz"
StringUtils.rightPad("bat", 1, 'z')  = "bat"
StringUtils.rightPad("bat", -1, 'z') = "bat"
Parameters
str:String

the String to pad out, may be null

size:int

the size to pad to

padChar:char

the character to pad with

Returns:String

right padded String or original String if no padding is necessary, null if null String input

Since
2.0
rightPadback to summary
public static String rightPad(String str, int strSize, int size, char padChar)
rightPadback to summary
public static String rightPad(String str, int size, String padStr)

Right pad a String with a specified String.

The String is padded to the size of size.

StringUtils.rightPad(null, *, *)      = null
StringUtils.rightPad("", 3, "z")      = "zzz"
StringUtils.rightPad("bat", 3, "yz")  = "bat"
StringUtils.rightPad("bat", 5, "yz")  = "batyz"
StringUtils.rightPad("bat", 8, "yz")  = "batyzyzy"
StringUtils.rightPad("bat", 1, "yz")  = "bat"
StringUtils.rightPad("bat", -1, "yz") = "bat"
StringUtils.rightPad("bat", 5, null)  = "bat  "
StringUtils.rightPad("bat", 5, "")    = "bat  "
Parameters
str:String

the String to pad out, may be null

size:int

the size to pad to

padStr:String

the String to pad with, null or empty treated as single space

Returns:String

right padded String or original String if no padding is necessary, null if null String input

rightPadback to summary
public static String rightPad(String str, int strSize, int size, String padStr)
splitback to summary
public static String[] split(String regex, CharSequence input)

A custom adaptation of Pattern#split(CharSequence, int).

This is useful if the matched split-tokens should be returned as well. For example:


split("e", "hello world")    // ["h", "e", "llo world"]
split("o", "hello world")    // ["hell", "o", " w", "o", "rld"]
split("[eo]", "hello world") // ["h", "e", "ll", "o", " w", "o", "rld"]

The result will always be an odd-length array.

toCamelCaseback to summary
public static String toCamelCase(String string)

Convert a string to camel case

toCamelCaseLCback to summary
public static String toCamelCaseLC(String string)

Convert a string to camel case starting with a lower case letter

toLCback to summary
public static String toLC(String string)

Change a string's first letter to lower case

toLCback to summary
public static String toLC(String string, Locale locale)

Change a string's first letter to lower case

toUCback to summary
public static String toUC(String string)

Change a string's first letter to upper case

toUCback to summary
public static String toUC(String string, Locale locale)

Change a string's first letter to upper case