public final class StringUtil
extends java.lang.Object
Modifier and Type | Method and Description |
---|---|
static int |
getLevenshteinDistance(java.lang.String s,
java.lang.String t)
Find the Levenshtein distance between two Strings.
|
static java.lang.String |
joinQuotedString(java.lang.String[] str,
java.lang.String delimiter,
int initialIndex,
java.lang.String quote)
Join an array of strings into a string.
|
static java.lang.String |
joinString(java.util.Collection<?> str,
java.lang.String delimiter,
int initialIndex)
Join an list of strings into a string.
|
static java.lang.String |
joinString(int[] str,
java.lang.String delimiter,
int initialIndex)
Join an array of strings into a string.
|
static java.lang.String |
joinString(java.lang.Object[] str,
java.lang.String delimiter,
int initialIndex)
Join an array of strings into a string.
|
static java.lang.String |
joinString(java.lang.String[] str,
java.lang.String delimiter)
Join an array of strings into a string.
|
static java.lang.String |
joinString(java.lang.String[] str,
java.lang.String delimiter,
int initialIndex)
Join an array of strings into a string.
|
static <T extends java.lang.Enum<?>> |
lookup(java.util.Map<java.lang.String,T> lookup,
java.lang.String name,
boolean fuzzy) |
static java.util.List<java.lang.String> |
parseListInQuotes(java.lang.String[] input,
char delimiter,
char quoteOpen,
char quoteClose) |
static java.util.List<java.lang.String> |
parseListInQuotes(java.lang.String[] input,
char delimiter,
char quoteOpen,
char quoteClose,
boolean appendLeftover) |
static java.lang.String |
trimLength(java.lang.String str,
int len)
Trim a string if it is longer than a certain length.
|
public static java.lang.String trimLength(java.lang.String str, int len)
str
- the stirnglen
- the length to trim topublic static java.lang.String joinString(java.lang.String[] str, java.lang.String delimiter, int initialIndex)
str
- the string arraydelimiter
- the delimiterinitialIndex
- the initial index to start formpublic static java.lang.String joinQuotedString(java.lang.String[] str, java.lang.String delimiter, int initialIndex, java.lang.String quote)
str
- the string arraydelimiter
- the delimiterinitialIndex
- the initial index to start formquote
- the character to put around each entrypublic static java.lang.String joinString(java.lang.String[] str, java.lang.String delimiter)
str
- the string arraydelimiter
- the delimiterpublic static java.lang.String joinString(java.lang.Object[] str, java.lang.String delimiter, int initialIndex)
str
- an array of objectsdelimiter
- the delimiterinitialIndex
- the initial index to start formpublic static java.lang.String joinString(int[] str, java.lang.String delimiter, int initialIndex)
str
- a list of integersdelimiter
- the delimiterinitialIndex
- the initial index to start formpublic static java.lang.String joinString(java.util.Collection<?> str, java.lang.String delimiter, int initialIndex)
str
- a list of stringsdelimiter
- the delimiterinitialIndex
- the initial index to start formpublic static int getLevenshteinDistance(java.lang.String s, java.lang.String t)
Find the Levenshtein distance between two Strings.
This is the number of changes needed to change one String into another, where each change is a single character modification (deletion, insertion or substitution).
The previous implementation of the Levenshtein distance algorithm was from http://www.merriampark.com/ld.htm
Chas Emerick has written an implementation in Java, which avoids an OutOfMemoryError
which can occur when my Java implementation is used with very large strings.
This implementation of the Levenshtein distance algorithm
is from http://www.merriampark.com/ldjava.htm
StringUtil.getLevenshteinDistance(null, *) = IllegalArgumentException StringUtil.getLevenshteinDistance(*, null) = IllegalArgumentException StringUtil.getLevenshteinDistance("","") = 0 StringUtil.getLevenshteinDistance("","a") = 1 StringUtil.getLevenshteinDistance("aaapppp", "") = 7 StringUtil.getLevenshteinDistance("frog", "fog") = 1 StringUtil.getLevenshteinDistance("fly", "ant") = 3 StringUtil.getLevenshteinDistance("elephant", "hippo") = 7 StringUtil.getLevenshteinDistance("hippo", "elephant") = 7 StringUtil.getLevenshteinDistance("hippo", "zzzzzzzz") = 8 StringUtil.getLevenshteinDistance("hello", "hallo") = 1
s
- the first String, must not be nullt
- the second String, must not be nulljava.lang.IllegalArgumentException
- if either String input null
public static <T extends java.lang.Enum<?>> T lookup(java.util.Map<java.lang.String,T> lookup, java.lang.String name, boolean fuzzy)
public static java.util.List<java.lang.String> parseListInQuotes(java.lang.String[] input, char delimiter, char quoteOpen, char quoteClose)
public static java.util.List<java.lang.String> parseListInQuotes(java.lang.String[] input, char delimiter, char quoteOpen, char quoteClose, boolean appendLeftover)