public class StringUtils
extends java.lang.Object
Common String
manipulation routines.
Originally from Turbine, the GenerationJavaCore library and Velocity. Later a lots methods from commons-lang StringUtils got added too. Gradually smaller additions and fixes have been made over the time by various ASF committers.
Constructor and Description |
---|
StringUtils()
StringUtils instances should NOT be constructed in
standard programming. |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
abbreviate(java.lang.String s,
int maxWidth)
Turn "Now is the time for all good men" into "Now is the time for..."
|
static java.lang.String |
abbreviate(java.lang.String s,
int offset,
int maxWidth)
Turn "Now is the time for all good men" into "...is the time for..."
|
static java.lang.String |
addAndDeHump(java.lang.String view)
Take the input string and un-camel-case it.
|
static java.lang.String |
capitalise(java.lang.String str)
Capitalise a String.
|
static java.lang.String |
capitaliseAllWords(java.lang.String str)
Capitalise all the words in a String.
|
static java.lang.String |
capitalizeFirstLetter(java.lang.String data)
Converts the first character of the given String to uppercase.
|
static java.lang.String |
center(java.lang.String str,
int size)
Center a String in a larger String of size
n . |
static java.lang.String |
center(java.lang.String str,
int size,
java.lang.String delim)
Center a String in a larger String of size
n . |
static java.lang.String |
chomp(java.lang.String str)
Remove the last newline, and everything after it from a String.
|
static java.lang.String |
chomp(java.lang.String str,
java.lang.String sep)
Remove the last value of a supplied String, and everything after
it from a String.
|
static java.lang.String |
chompLast(java.lang.String str)
Remove a newline if and only if it is at the end
of the supplied String.
|
static java.lang.String |
chompLast(java.lang.String str,
java.lang.String sep)
Remove a value if and only if the String ends with that value.
|
static java.lang.String |
chop(java.lang.String str)
Remove the last character from a String.
|
static java.lang.String |
chopNewline(java.lang.String str)
Remove
\n from end of a String if it's there. |
static java.lang.String |
clean(java.lang.String str)
Removes C0 control characters, including ASCII whitespace, from both
ends of this String, handling
null by returning
an empty String. |
static java.lang.String |
concatenate(java.lang.Object... array)
Concatenates elements of an array into a single String.
|
static boolean |
contains(java.lang.String str,
char searchChar)
Checks if String contains a search character, handling
null . |
static boolean |
contains(java.lang.String str,
java.lang.String searchStr)
Checks if String contains a search String, handling
null . |
static int |
countMatches(java.lang.String str,
java.lang.String sub)
How many times is the substring in the larger String.
|
static java.lang.String |
defaultString(java.lang.Object obj)
Deprecated.
use
java.lang.Objects.toString() |
static java.lang.String |
defaultString(java.lang.Object obj,
java.lang.String defaultString)
Deprecated.
use
java.lang.Objects.toString() |
static java.lang.String |
deleteWhitespace(java.lang.String str)
Deletes all whitespace from a String.
|
static java.lang.String |
difference(java.lang.String s1,
java.lang.String s2)
Compare two strings, and return the portion where they differ.
|
static int |
differenceAt(java.lang.String s1,
java.lang.String s2)
Compare two strings, and return the index at which the strings begin to differ.
|
static boolean |
endsWithIgnoreCase(java.lang.String str,
java.lang.String searchStr)
Checks if String ends with a search String, handling
null . |
static boolean |
equals(java.lang.String str1,
java.lang.String str2)
Deprecated.
use
java.lang.Objects.equals() |
static boolean |
equalsIgnoreCase(java.lang.String str1,
java.lang.String str2)
Compares two Strings, returning
true if they are equal ignoring
the case. |
static java.lang.String |
escape(java.lang.String str)
Escapes any values it finds into their String form.
|
static java.lang.String |
escape(java.lang.String source,
char[] escapedChars,
char escapeChar) |
static java.lang.String |
getChomp(java.lang.String str,
java.lang.String sep)
Remove everything and return the last value of a supplied String, and
everything after it from a String.
|
static java.lang.String |
getNestedString(java.lang.String str,
java.lang.String tag)
Get the String that is nested in between two instances of the
same String.
|
static java.lang.String |
getNestedString(java.lang.String str,
java.lang.String open,
java.lang.String close)
Get the String that is nested in between two Strings.
|
static java.lang.String |
getPrechomp(java.lang.String str,
java.lang.String sep)
Remove and return everything before the first value of a
supplied String from another String.
|
static int |
indexOfAny(java.lang.String str,
java.lang.String... searchStrs)
Find the first index of any of a set of potential substrings.
|
static java.lang.String |
interpolate(java.lang.String text,
java.util.Map<?,?> namespace)
Fill all 'variables' in the given text with the values from the map.
|
static boolean |
isAlpha(java.lang.String str)
Checks if the String contains only Unicode letters.
|
static boolean |
isAlphanumeric(java.lang.String str)
Checks if the String contains only Unicode letters or digits.
|
static boolean |
isAlphanumericSpace(java.lang.String str)
Checks if the String contains only Unicode letters, digits
or space (
' ' ). |
static boolean |
isAlphaSpace(java.lang.String str)
Checks if the String contains only Unicode letters and
space (
' ' ). |
static boolean |
isBlank(java.lang.String str)
Checks if a String is whitespace, empty ("") or null.
|
static boolean |
isEmpty(java.lang.String str)
Checks if a (trimmed) String is
null or empty. |
static boolean |
isNotBlank(java.lang.String str)
Checks if a String is not empty (""), not null and not whitespace only.
|
static boolean |
isNotEmpty(java.lang.String str)
Checks if a String is non
null and is
not empty (length > 0 ). |
static boolean |
isNumeric(java.lang.String str)
Checks if the String contains only Unicode digits.
|
static boolean |
isWhitespace(java.lang.String str)
Checks if the String contains only whitespace.
|
static java.lang.String |
join(java.util.Iterator<?> iterator,
java.lang.String separator)
Joins the elements of the provided
Iterator into
a single String containing the provided elements. |
static java.lang.String |
join(java.lang.Object[] array,
java.lang.String separator)
Joins the elements of the provided array into a single String
containing the provided list of elements.
|
static int |
lastIndexOfAny(java.lang.String str,
java.lang.String... searchStrs)
Find the latest index of any of a set of potential substrings.
|
static java.lang.String |
left(java.lang.String str,
int len)
Gets the leftmost
n characters of a String. |
static java.lang.String |
leftPad(java.lang.String str,
int size)
Left pad a String with spaces.
|
static java.lang.String |
leftPad(java.lang.String str,
int size,
java.lang.String delim)
Left pad a String with a specified string.
|
static java.lang.String |
lowerCase(java.lang.String str)
Convert a String to lower case,
null String
returns null . |
static java.lang.String |
lowercaseFirstLetter(java.lang.String data)
Converts the first character of the given String to lowercase.
|
static java.lang.String |
mid(java.lang.String str,
int pos,
int len)
Gets
n characters from the middle of a String. |
static java.lang.String |
overlayString(java.lang.String text,
java.lang.String overlay,
int start,
int end)
Overlay a part of a String with another String.
|
static java.lang.String |
prechomp(java.lang.String str,
java.lang.String sep)
Remove the first value of a supplied String, and everything before it
from a String.
|
static java.lang.String |
quoteAndEscape(java.lang.String source,
char quoteChar)
Quote and escape a String with the given character, handling
null . |
static java.lang.String |
quoteAndEscape(java.lang.String source,
char quoteChar,
char[] quotingTriggers)
Quote and escape a String with the given character, handling
null . |
static java.lang.String |
quoteAndEscape(java.lang.String source,
char quoteChar,
char[] escapedChars,
char[] quotingTriggers,
char escapeChar,
boolean force) |
static java.lang.String |
quoteAndEscape(java.lang.String source,
char quoteChar,
char[] escapedChars,
char escapeChar,
boolean force) |
static java.lang.String |
removeAndHump(java.lang.String data,
java.lang.String replaceThis)
This is basically the inverse of
addAndDeHump(String) . |
static java.lang.String |
removeDuplicateWhitespace(java.lang.String s)
Remove all duplicate whitespace characters and replace line terminators with a single space.
|
static java.lang.String |
repeat(java.lang.String str,
int repeat)
Repeat a String
n times to form a
new string. |
static java.lang.String |
replace(java.lang.String text,
char repl,
char with)
Replace all occurances of a char within another char.
|
static java.lang.String |
replace(java.lang.String text,
char repl,
char with,
int max)
Replace a char with another char inside a larger String,
for the first
max values of the search char. |
static java.lang.String |
replace(java.lang.String text,
java.lang.String repl,
java.lang.String with)
Replace all occurrences of a String within another String.
|
static java.lang.String |
replace(java.lang.String text,
java.lang.String repl,
java.lang.String with,
int max)
Replace a String with another String inside a larger String,
for the first
max values of the search String. |
static java.lang.String |
replaceOnce(java.lang.String text,
char repl,
char with)
Replace a char with another char inside a larger String, once.
|
static java.lang.String |
replaceOnce(java.lang.String text,
java.lang.String repl,
java.lang.String with)
Replace a String with another String inside a larger String, once.
|
static java.lang.String |
reverse(java.lang.String str)
Reverse a String.
|
private static void |
reverseArray(java.lang.String... array)
Reverses an array.
|
static java.lang.String |
reverseDelimitedString(java.lang.String str,
java.lang.String delimiter)
Reverses a String that is delimited by a specific character.
|
static java.lang.String |
right(java.lang.String str,
int len)
Gets the rightmost
n characters of a String. |
static java.lang.String |
rightPad(java.lang.String str,
int size)
Right pad a String with spaces.
|
static java.lang.String |
rightPad(java.lang.String str,
int size,
java.lang.String delim)
Right pad a String with a specified string.
|
static java.lang.String[] |
split(java.lang.String str)
Splits the provided text into a array, using whitespace as the
separator.
|
static java.lang.String[] |
split(java.lang.String text,
java.lang.String separator) |
static java.lang.String[] |
split(java.lang.String str,
java.lang.String separator,
int max)
Splits the provided text into a array, based on a given separator.
|
static java.lang.String |
strip(java.lang.String str)
Remove whitespace from the front and back of a String.
|
static java.lang.String |
strip(java.lang.String str,
java.lang.String delim)
Remove a specified String from the front and back of a
String.
|
static java.lang.String[] |
stripAll(java.lang.String... strs)
Strip whitespace from the front and back of every String
in the array.
|
static java.lang.String[] |
stripAll(java.lang.String[] strs,
java.lang.String delimiter)
Strip the specified delimiter from the front and back of
every String in the array.
|
static java.lang.String |
stripEnd(java.lang.String str,
java.lang.String strip)
Strip any of a supplied String from the end of a String.
|
static java.lang.String |
stripStart(java.lang.String str,
java.lang.String strip)
Strip any of a supplied String from the start of a String.
|
static java.lang.String |
substring(java.lang.String str,
int start)
Gets a substring from the specified string avoiding exceptions.
|
static java.lang.String |
substring(java.lang.String str,
int start,
int end)
Gets a substring from the specified String avoiding exceptions.
|
static java.lang.String |
swapCase(java.lang.String str)
Swaps the case of String.
|
static java.lang.String |
trim(java.lang.String str)
Removes C0 control characters, including ASCII whitespace, from both
ends of this String, handling
null by returning
null . |
static java.lang.String |
uncapitalise(java.lang.String str)
Uncapitalise a String.
|
static java.lang.String |
uncapitaliseAllWords(java.lang.String str)
Uncapitalise all the words in a string.
|
static java.lang.String |
unifyLineSeparators(java.lang.String s)
Deprecated.
this method produces platform dependent code and contributes to
non-reproducible builds. In the context of Maven, this is almost never what's needed.
Remove calls to this method and do not replace them. That is, change
Stringutils.unifyLineSeparators(s) to simply s . |
static java.lang.String |
unifyLineSeparators(java.lang.String s,
java.lang.String ls)
Parses the given String and replaces all occurrences of
'\n', '\r' and '\r\n' with the system line separator.
|
static java.lang.String |
upperCase(java.lang.String str)
Convert a String to upper case,
null String
returns null . |
public StringUtils()
StringUtils
instances should NOT be constructed in
standard programming. Instead, the class should be used as
StringUtils.trim(" foo ");
.
This constructor is public to permit tools that require a JavaBean manager to operate.
@Nonnull public static java.lang.String clean(java.lang.String str)
Removes C0 control characters, including ASCII whitespace, from both
ends of this String, handling null
by returning
an empty String.
str
- the String to checknull
)String.trim()
public static java.lang.String trim(java.lang.String str)
Removes C0 control characters, including ASCII whitespace, from both
ends of this String, handling null
by returning
null
.
str
- the String to checknull
)String.trim()
@Nonnull public static java.lang.String deleteWhitespace(@Nonnull java.lang.String str)
Deletes all whitespace from a String.
Whitespace is defined by
Character.isWhitespace(char)
.
str
- String target to delete whitespace frompublic static boolean isNotEmpty(@Nullable java.lang.String str)
Checks if a String is non null
and is
not empty (length > 0
).
str
- the String to checkpublic static boolean isEmpty(@Nullable java.lang.String str)
Checks if a (trimmed) String is null
or empty.
Note: In future releases, this method will no longer trim the input string such that it works
complementary to isNotEmpty(String)
. Code that wants to test for whitespace-only strings should be
migrated to use isBlank(String)
instead.
str
- the String to checktrue
if the String is null
, or
length zero once trimmedpublic static boolean isBlank(@Nullable java.lang.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
str
- the String to check, may be nulltrue
if the String is null, empty or whitespacepublic static boolean isNotBlank(@Nullable java.lang.String str)
Checks if a String is not empty (""), not null and not whitespace only.
StringUtils.isNotBlank(null) = false StringUtils.isNotBlank("") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank("bob") = true StringUtils.isNotBlank(" bob ") = true
str
- the String to check, may be nulltrue
if the String is not empty and not null and not whitespace@Deprecated public static boolean equals(@Nullable java.lang.String str1, @Nullable java.lang.String str2)
java.lang.Objects.equals()
Compares two Strings, returning true
if they are equal.
null
s are handled without exceptions. Two null
references are considered to be equal. The comparison is case sensitive.
str1
- the first stringstr2
- the second stringtrue
if the Strings are equal, case sensitive, or
both null
String.equals(Object)
public static boolean equalsIgnoreCase(java.lang.String str1, java.lang.String str2)
Compares two Strings, returning true
if they are equal ignoring
the case.
Nulls
are handled without exceptions. Two null
references are considered equal. Comparison is case insensitive.
str1
- the first stringstr2
- the second stringtrue
if the Strings are equal, case insensitive, or
both null
String.equalsIgnoreCase(String)
public static int indexOfAny(java.lang.String str, java.lang.String... searchStrs)
Find the first index of any of a set of potential substrings.
null
String will return -1
.
str
- the String to checksearchStrs
- the Strings to search forjava.lang.NullPointerException
- if any of searchStrs[i] is null
public static int lastIndexOfAny(java.lang.String str, java.lang.String... searchStrs)
Find the latest index of any of a set of potential substrings.
null
string will return -1
.
str
- the String to checksearchStrs
- the Strings to search forjava.lang.NullPointerException
- if any of searchStrs[i] is null
public static java.lang.String substring(java.lang.String str, int start)
Gets a substring from the specified string avoiding exceptions.
A negative start position can be used to start n
characters from the end of the String.
str
- the String to get the substring fromstart
- the position to start from, negative means
count back from the end of the String by this many characterspublic static java.lang.String substring(java.lang.String str, int start, int end)
Gets a substring from the specified String avoiding exceptions.
A negative start position can be used to start/end n
characters from the end of the String.
str
- the String to get the substring fromstart
- the position to start from, negative means
count back from the end of the string by this many charactersend
- the position to end at (exclusive), negative means
count back from the end of the String by this many characterspublic static java.lang.String left(java.lang.String str, int len)
Gets the leftmost n
characters of a String.
If n
characters are not available, or the
String is null
, the String will be returned without
an exception.
str
- the String to get the leftmost characters fromlen
- the length of the required Stringjava.lang.IllegalArgumentException
- if len is less than zeropublic static java.lang.String right(java.lang.String str, int len)
Gets the rightmost n
characters of a String.
If n
characters are not available, or the String
is null
, the String will be returned without an
exception.
str
- the String to get the rightmost characters fromlen
- the length of the required Stringjava.lang.IllegalArgumentException
- if len is less than zeropublic static java.lang.String mid(java.lang.String str, int pos, int len)
Gets n
characters from the middle of a String.
If n
characters are not available, the remainder
of the String will be returned without an exception. If the
String is null
, null
will be returned.
str
- the String to get the characters frompos
- the position to start fromlen
- the length of the required Stringjava.lang.IndexOutOfBoundsException
- if pos is out of boundsjava.lang.IllegalArgumentException
- if len is less than zero@Nonnull public static java.lang.String[] split(@Nonnull java.lang.String str)
Splits the provided text into a array, using whitespace as the separator.
The separator is not included in the returned String array.
str
- the String to parse@Nonnull public static java.lang.String[] split(@Nonnull java.lang.String text, @Nullable java.lang.String separator)
text
- the text to be splitseparator
- the separator at which the text will be splitsplit(String, String, int)
@Nonnull public static java.lang.String[] split(@Nonnull java.lang.String str, @Nullable java.lang.String separator, int max)
Splits the provided text into a array, based on a given separator.
The separator is not included in the returned String array. The
maximum number of splits to perform can be controlled. A null
separator causes splitting on whitespace.
This is useful for quickly splitting a String into
an array of tokens, instead of an enumeration of tokens (as
StringTokenizer
does).
str
- the string to parseseparator
- Characters used as the delimiters. If
null
, splits on whitespace.max
- the maximum number of elements to include in the
array. A zero or negative value implies no limit.@Nonnull public static java.lang.String concatenate(@Nonnull java.lang.Object... array)
Concatenates elements of an array into a single String.
The difference from join is that concatenate has no delimiter.
array
- the array of values to concatenate.@Nonnull public static java.lang.String join(@Nonnull java.lang.Object[] array, @Nullable java.lang.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 a blank String.
array
- the array of values to join togetherseparator
- the separator character to use@Nonnull public static java.lang.String join(@Nonnull java.util.Iterator<?> iterator, java.lang.String separator)
Joins the elements of the provided Iterator
into
a single String containing the provided elements.
No delimiter is added before or after the list. A
null
separator is the same as a blank String.
iterator
- the Iterator
of values to join togetherseparator
- the separator character to usepublic static java.lang.String replaceOnce(@Nullable java.lang.String text, char repl, char with)
Replace a char with another char inside a larger String, once.
A null
reference passed to this method is a no-op.
text
- text to search and replace inrepl
- char to search forwith
- char to replace withreplace(String text, char repl, char with, int max)
public static java.lang.String replace(@Nullable java.lang.String text, char repl, char with)
Replace all occurances of a char within another char.
A null
reference passed to this method is a no-op.
text
- text to search and replace inrepl
- char to search forwith
- char to replace withreplace(String text, char repl, char with, int max)
public static java.lang.String replace(@Nullable java.lang.String text, char repl, char with, int max)
Replace a char with another char inside a larger String,
for the first max
values of the search char.
A null
reference passed to this method is a no-op.
text
- text to search and replace inrepl
- char to search forwith
- char to replace withmax
- maximum number of values to replace, or -1
if no maximumpublic static java.lang.String replaceOnce(@Nullable java.lang.String text, @Nullable java.lang.String repl, @Nullable java.lang.String with)
Replace a String with another String inside a larger String, once.
A null
reference passed to this method is a no-op.
text
- text to search and replace inrepl
- String to search forwith
- String to replace withreplace(String text, String repl, String with, int max)
public static java.lang.String replace(@Nullable java.lang.String text, @Nullable java.lang.String repl, @Nullable java.lang.String with)
Replace all occurrences of a String within another String.
A null
reference passed to this method is a no-op.
text
- text to search and replace inrepl
- String to search forwith
- String to replace withreplace(String text, String repl, String with, int max)
public static java.lang.String replace(@Nullable java.lang.String text, @Nullable java.lang.String repl, @Nullable java.lang.String with, int max)
Replace 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.
text
- text to search and replace inrepl
- String to search forwith
- String to replace withmax
- maximum number of values to replace, or -1
if no maximum@Nonnull public static java.lang.String overlayString(@Nonnull java.lang.String text, @Nonnull java.lang.String overlay, int start, int end)
Overlay a part of a String with another String.
text
- String to do overlaying inoverlay
- String to overlaystart
- position to start overlaying atend
- position to stop overlaying beforejava.lang.NullPointerException
- if text or overlay is null
@Nonnull public static java.lang.String center(@Nonnull java.lang.String str, int size)
Center a String in a larger String of size n
.
Uses spaces as the value to buffer the String with.
Equivalent to center(str, size, " ")
.
str
- String to centersize
- int size of new Stringjava.lang.NullPointerException
- if str is null
@Nonnull public static java.lang.String center(@Nonnull java.lang.String str, int size, @Nonnull java.lang.String delim)
Center a String in a larger String of size n
.
Uses a supplied String as the value to buffer the String with.
str
- String to centersize
- int size of new Stringdelim
- String to buffer the new String withjava.lang.NullPointerException
- if str or delim is null
java.lang.ArithmeticException
- if delim is the empty String@Nonnull public static java.lang.String chomp(@Nonnull java.lang.String str)
Remove the last newline, and everything after it from a String.
str
- String to chomp the newline fromjava.lang.NullPointerException
- if str is null
@Nonnull public static java.lang.String chomp(@Nonnull java.lang.String str, @Nonnull java.lang.String sep)
Remove the last value of a supplied String, and everything after it from a String.
str
- String to chomp fromsep
- String to chompjava.lang.NullPointerException
- if str or sep is null
@Nonnull public static java.lang.String chompLast(@Nonnull java.lang.String str)
Remove a newline if and only if it is at the end of the supplied String.
str
- String to chomp fromjava.lang.NullPointerException
- if str is null
@Nonnull public static java.lang.String chompLast(@Nonnull java.lang.String str, @Nonnull java.lang.String sep)
Remove a value if and only if the String ends with that value.
str
- String to chomp fromsep
- String to chompjava.lang.NullPointerException
- if str or sep is null
@Nonnull public static java.lang.String getChomp(@Nonnull java.lang.String str, @Nonnull java.lang.String sep)
Remove everything and return the last value of a supplied String, and everything after it from a String.
str
- String to chomp fromsep
- String to chompjava.lang.NullPointerException
- if str or sep is null
@Nonnull public static java.lang.String prechomp(@Nonnull java.lang.String str, @Nonnull java.lang.String sep)
Remove the first value of a supplied String, and everything before it from a String.
str
- String to chomp fromsep
- String to chompjava.lang.NullPointerException
- if str or sep is null
@Nonnull public static java.lang.String getPrechomp(@Nonnull java.lang.String str, @Nonnull java.lang.String sep)
Remove and return everything before the first value of a supplied String from another String.
str
- String to chomp fromsep
- String to chompjava.lang.NullPointerException
- if str or sep is null
@Nonnull public static java.lang.String chop(@Nonnull java.lang.String str)
Remove the last character from a String.
If the String ends in \r\n
, then remove both
of them.
str
- String to chop last character fromjava.lang.NullPointerException
- if str is null
@Nonnull public static java.lang.String chopNewline(@Nonnull java.lang.String str)
Remove \n
from end of a String if it's there.
If a \r
precedes it, then remove that too.
str
- String to chop a newline fromjava.lang.NullPointerException
- if str is null
@Nonnull public static java.lang.String escape(@Nonnull java.lang.String str)
Escapes any values it finds into their String form.
So a tab becomes the characters '\\'
and
't'
.
str
- String to escape values injava.lang.NullPointerException
- if str is null
@Nonnull public static java.lang.String repeat(@Nonnull java.lang.String str, int repeat)
Repeat a String n
times to form a
new string.
str
- String to repeatrepeat
- number of times to repeat strjava.lang.NegativeArraySizeException
- if repeat < 0
java.lang.NullPointerException
- if str is null
@Nonnull public static java.lang.String rightPad(@Nonnull java.lang.String str, int size)
Right pad a String with spaces.
The String is padded to the size of n
.
str
- String to repeatsize
- number of times to repeat strjava.lang.NullPointerException
- if str is null
@Nonnull public static java.lang.String rightPad(@Nonnull java.lang.String str, int size, @Nonnull java.lang.String delim)
Right pad a String with a specified string.
The String is padded to the size of n
.
str
- String to pad outsize
- size to pad todelim
- String to pad withjava.lang.NullPointerException
- if str or delim is null
java.lang.ArithmeticException
- if delim is the empty String@Nonnull public static java.lang.String leftPad(@Nonnull java.lang.String str, int size)
Left pad a String with spaces.
The String is padded to the size of n
.
str
- String to pad outsize
- size to pad tojava.lang.NullPointerException
- if str or delim is null
@Nonnull public static java.lang.String leftPad(@Nonnull java.lang.String str, int size, @Nonnull java.lang.String delim)
str
- String to pad outsize
- size to pad todelim
- String to pad withjava.lang.NullPointerException
- if str or delim is nulljava.lang.ArithmeticException
- if delim is the empty stringpublic static java.lang.String strip(java.lang.String str)
Remove whitespace from the front and back of a String.
str
- the String to remove whitespace frompublic static java.lang.String strip(java.lang.String str, @Nullable java.lang.String delim)
Remove a specified String from the front and back of a String.
If whitespace is wanted to be removed, used the
strip(java.lang.String)
method.
str
- the String to remove a string fromdelim
- the String to remove at start and endpublic static java.lang.String[] stripAll(java.lang.String... strs)
Strip whitespace from the front and back of every String in the array.
strs
- the Strings to remove whitespace frompublic static java.lang.String[] stripAll(java.lang.String[] strs, @Nullable java.lang.String delimiter)
Strip the specified delimiter from the front and back of every String in the array.
strs
- the Strings to remove a String fromdelimiter
- the String to remove at start and endpublic static java.lang.String stripEnd(java.lang.String str, @Nullable java.lang.String strip)
Strip any of a supplied String from the end of a String.
If the strip String is null
, whitespace is
stripped.
str
- the String to remove characters fromstrip
- the String to removepublic static java.lang.String stripStart(java.lang.String str, @Nullable java.lang.String strip)
Strip any of a supplied String from the start of a String.
If the strip String is null
, whitespace is
stripped.
str
- the String to remove characters fromstrip
- the String to removepublic static java.lang.String upperCase(java.lang.String str)
Convert a String to upper case, null
String
returns null
.
str
- the String to uppercasepublic static java.lang.String lowerCase(java.lang.String str)
Convert a String to lower case, null
String
returns null
.
str
- the string to lowercasepublic static java.lang.String uncapitalise(java.lang.String str)
Uncapitalise a String.
That is, convert the first character into lower-case.
null
is returned as null
.
str
- the String to uncapitalisepublic static java.lang.String capitalise(java.lang.String str)
Capitalise a String.
That is, convert the first character into title-case.
null
is returned as null
.
str
- the String to capitalisepublic static java.lang.String swapCase(java.lang.String str)
Swaps the case of String.
Properly looks after making sure the start of words are Titlecase and not Uppercase.
null
is returned as null
.
str
- the String to swap the case ofpublic static java.lang.String capitaliseAllWords(java.lang.String str)
Capitalise all the words in a String.
Uses Character.isWhitespace(char)
as a
separator between words.
null
will return null
.
str
- the String to capitalisepublic static java.lang.String uncapitaliseAllWords(java.lang.String str)
Uncapitalise all the words in a string.
Uses Character.isWhitespace(char)
as a
separator between words.
null
will return null
.
str
- the string to uncapitalisepublic static java.lang.String getNestedString(java.lang.String str, @Nonnull java.lang.String tag)
Get the String that is nested in between two instances of the same String.
If str
is null
, will
return null
.
str
- the String containing nested-stringtag
- the String before and after nested-stringnull
java.lang.NullPointerException
- if tag is null
public static java.lang.String getNestedString(java.lang.String str, @Nonnull java.lang.String open, @Nonnull java.lang.String close)
Get the String that is nested in between two Strings.
str
- the String containing nested-stringopen
- the String before nested-stringclose
- the String after nested-stringnull
java.lang.NullPointerException
- if open or close is null
public static int countMatches(@Nullable java.lang.String str, @Nonnull java.lang.String sub)
How many times is the substring in the larger String.
null
returns 0
.
str
- the String to checksub
- the substring to countnull
java.lang.NullPointerException
- if sub is null
public static boolean isAlpha(java.lang.String str)
Checks if the String contains only Unicode letters.
null
will return false
.
An empty String will return true
.
str
- the String to checktrue
if only contains letters, and is non-nullpublic static boolean isWhitespace(java.lang.String str)
Checks if the String contains only whitespace.
null
will return false
. An
empty String will return true
.
str
- the String to checktrue
if only contains whitespace, and is non-nullpublic static boolean isAlphaSpace(java.lang.String str)
Checks if the String contains only Unicode letters and
space (' '
).
null
will return false
. An
empty String will return true
.
str
- the String to checktrue
if only contains letters and space,
and is non-nullpublic static boolean isAlphanumeric(java.lang.String str)
Checks if the String contains only Unicode letters or digits.
null
will return false
. An empty
String will return true
.
str
- the String to checktrue
if only contains letters or digits,
and is non-nullpublic static boolean isAlphanumericSpace(java.lang.String str)
Checks if the String contains only Unicode letters, digits
or space (' '
).
null
will return false
. An empty
String will return true
.
str
- the String to checktrue
if only contains letters, digits or space,
and is non-nullpublic static boolean isNumeric(java.lang.String str)
Checks if the String contains only Unicode digits.
null
will return false
.
An empty String will return true
.
str
- the String to checktrue
if only contains digits, and is non-null@Deprecated @Nonnull public static java.lang.String defaultString(java.lang.Object obj)
java.lang.Objects.toString()
Returns either the passed in Object
as a String,
or, if the Object
is null
, an empty
String.
obj
- the Object to checknull
@Deprecated @Nonnull public static java.lang.String defaultString(java.lang.Object obj, @Nonnull java.lang.String defaultString)
java.lang.Objects.toString()
Returns either the passed in Object
as a String,
or, if the Object
is null
, a passed
in default String.
obj
- the Object to checkdefaultString
- the default String to return if str is
null
null
public static java.lang.String reverse(java.lang.String str)
Reverse a String.
null
String returns null
.
str
- the String to reverse@Nonnull public static java.lang.String reverseDelimitedString(@Nonnull java.lang.String str, java.lang.String delimiter)
Reverses a String that is delimited by a specific character.
The Strings between the delimiters are not reversed.
Thus java.lang.String becomes String.lang.java (if the delimiter
is '.'
).
str
- the String to reversedelimiter
- the delimiter to useprivate static void reverseArray(@Nonnull java.lang.String... array)
Reverses an array.
array
- the array to reverse@Nonnull public static java.lang.String abbreviate(@Nonnull java.lang.String s, int maxWidth)
Turn "Now is the time for all good men" into "Now is the time for..."
Specifically:
If str is less than max characters long, return it. Else abbreviate it to (substring(str, 0, max-3) + "..."). If maxWidth is less than 3, throw an IllegalArgumentException. In no case will it return a string of length greater than maxWidth.
s
- The string to be abbreviated.maxWidth
- maximum length of result string@Nonnull public static java.lang.String abbreviate(@Nonnull java.lang.String s, int offset, int maxWidth)
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.
s
- String to abbreviate.offset
- left edge of source stringmaxWidth
- maximum length of result stringpublic static java.lang.String difference(@Nonnull java.lang.String s1, @Nonnull java.lang.String s2)
E.g. strdiff("i am a machine", "i am a robot") → "robot"
s1
- The first string.s2
- The second string.public static int differenceAt(@Nonnull java.lang.String s1, @Nonnull java.lang.String s2)
E.g. strdiff("i am a machine", "i am a robot") → 7
s1
- The first string.s2
- The second string.public static java.lang.String interpolate(java.lang.String text, @Nonnull java.util.Map<?,?> namespace)
text
- The text where replacements will be searched for.namespace
- The namespace which contains the replacements.@Nonnull public static java.lang.String removeAndHump(@Nonnull java.lang.String data, @Nonnull java.lang.String replaceThis)
addAndDeHump(String)
.
It will remove the 'replaceThis' parameter and uppercase the next
character afterwards.
removeAndHump( "this-is-it", %quot;-" );will become 'ThisIsIt'.
data
- The data.replaceThis
- The things which should be replaced.@Nonnull public static java.lang.String capitalizeFirstLetter(@Nonnull java.lang.String data)
data
- the String to get capitalizedjava.lang.NullPointerException
- if data is null
java.lang.IndexOutOfBoundsException
- if data is empty@Nonnull public static java.lang.String lowercaseFirstLetter(@Nonnull java.lang.String data)
data
- the String to get it's first character lower-cased.java.lang.NullPointerException
- if data is null
java.lang.IndexOutOfBoundsException
- if data is empty@Nonnull public static java.lang.String addAndDeHump(@Nonnull java.lang.String view)
Take the input string and un-camel-case it.
'ThisIsIt' will become 'this-is-it'.
view
- the viewpublic static java.lang.String quoteAndEscape(@Nullable java.lang.String source, char quoteChar)
Quote and escape a String with the given character, handling null
.
StringUtils.quoteAndEscape(null, *) = null StringUtils.quoteAndEscape("", *) = "" StringUtils.quoteAndEscape("abc", '"') = abc StringUtils.quoteAndEscape("a\"bc", '"') = "a\"bc" StringUtils.quoteAndEscape("a\"bc", '\'') = 'a\"bc'
source
- The source.quoteChar
- The quote character.quoteAndEscape(String, char, char[], char[], char, boolean)
,
quoteAndEscape(String, char, char[], char[], char, boolean)
public static java.lang.String quoteAndEscape(@Nullable java.lang.String source, char quoteChar, @Nonnull char[] quotingTriggers)
Quote and escape a String with the given character, handling null
.
source
- the sourcequoteChar
- the quote characterquotingTriggers
- the quoting triggerquoteAndEscape(String, char, char[], char[], char, boolean)
public static java.lang.String quoteAndEscape(@Nullable java.lang.String source, char quoteChar, @Nonnull char[] escapedChars, char escapeChar, boolean force)
source
- the sourcequoteChar
- the quote characterescapedChars
- the escaped charactersescapeChar
- the escape characterforce
- true/falsequoteAndEscape(String, char, char[], char[], char, boolean)
public static java.lang.String quoteAndEscape(@Nullable java.lang.String source, char quoteChar, @Nonnull char[] escapedChars, @Nonnull char[] quotingTriggers, char escapeChar, boolean force)
source
- the sourcequoteChar
- the quote characterescapedChars
- set of characters to escapequotingTriggers
- the quoting triggerescapeChar
- prefix for escaping a characterforce
- true/falsepublic static java.lang.String escape(@Nullable java.lang.String source, @Nonnull char[] escapedChars, char escapeChar)
source
- the sourceescapedChars
- set of characters to escapeescapeChar
- prefix for escaping a character@Nonnull public static java.lang.String removeDuplicateWhitespace(@Nonnull java.lang.String s)
s
- a not null String@Deprecated public static java.lang.String unifyLineSeparators(@Nullable java.lang.String s)
Stringutils.unifyLineSeparators(s)
to simply s
.s
- a not null StringunifyLineSeparators(String, String)
public static java.lang.String unifyLineSeparators(@Nullable java.lang.String s, @Nullable java.lang.String ls)
s
- a not null Stringls
- the wanted line separator ("\n" on UNIX), if null using the System line separatorjava.lang.IllegalArgumentException
- if ls is not '\n', '\r', or "\r\n"public static boolean contains(@Nullable java.lang.String str, char searchChar)
Checks if String contains a search character, handling null
.
This method uses String.indexOf(int)
.
A null
or empty ("") String will return false
.
StringUtils.contains(null, *) = false StringUtils.contains("", *) = false StringUtils.contains("abc", 'a') = true StringUtils.contains("abc", 'z') = false
str
- the String to check, may be nullsearchChar
- the character to findnull
string inputpublic static boolean contains(@Nullable java.lang.String str, @Nullable java.lang.String searchStr)
Checks if String contains a search String, handling null
.
This method uses String.indexOf(int)
.
A null
String will return false
.
StringUtils.contains(null, *) = false StringUtils.contains(*, null) = false StringUtils.contains("", "") = true StringUtils.contains("abc", "") = true StringUtils.contains("abc", "a") = true StringUtils.contains("abc", "z") = false
str
- the String to check, may be nullsearchStr
- the String to find, may be nullnull
string inputpublic static boolean endsWithIgnoreCase(@Nullable java.lang.String str, @Nullable java.lang.String searchStr)
Checks if String ends with a search String, handling null
.
A null
String will return false
.
StringUtils.endsWithIgnoreCase(null, *) = false StringUtils.endsWithIgnoreCase(*, null) = false StringUtils.endsWithIgnoreCase("", "") = true StringUtils.endsWithIgnoreCase("abc", "") = true StringUtils.endsWithIgnoreCase("abc", "C") = true StringUtils.endsWithIgnoreCase("abc", "a") = false
str
- the String to check, may be nullsearchStr
- the String to find at end, may be nullnull
string input