Package org.apache.solr.common.util
Class StrUtils
- java.lang.Object
-
- org.apache.solr.common.util.StrUtils
-
public class StrUtils extends Object
-
-
Field Summary
Fields Modifier and Type Field Description static char[]
HEX_DIGITS
-
Constructor Summary
Constructors Constructor Description StrUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
appendEscapedTextToBuilder(StringBuilder out, String item, char separator)
writes chars from item to out, backslash escaping as needed based on separator -- but does not append the separator itselfstatic String
escapeTextWithSeparator(String item, char separator)
Creates a new copy of the string with the separator backslash escaped.static String
formatString(String pattern, Object... args)
Format usingMessageFormat
but with the ROOT localestatic String
join(Collection<?> items, char separator)
Creates a backslash escaped string, joining all the items.static boolean
parseBool(String s)
how to transform a String into a boolean...static boolean
parseBool(String s, boolean def)
static boolean
parseBoolean(String s)
Return if a string starts with '1', 't', or 'T' and return false otherwise.static void
partialURLEncodeVal(Appendable dest, String val)
URLEncodes a value, replacing only enough chars so that the URL may be unambiguously pasted back into a browser.static List<String>
split(String s, char sep)
static List<String>
splitFileNames(String fileNames)
Splits file names separated by comma character.static List<String>
splitSmart(String s, char separator)
static List<String>
splitSmart(String s, char separator, boolean trimEmpty)
static void
splitSmart(String s, char separator, List<String> lst)
Split a string based on a separator, but don't split if it's inside a string.static List<String>
splitSmart(String s, String separator, boolean decode)
Splits a backslash escaped string on the separator.static List<String>
splitWS(String s, boolean decode)
static List<String>
toLower(List<String> strings)
-
-
-
Method Detail
-
splitSmart
public static void splitSmart(String s, char separator, List<String> lst)
Split a string based on a separator, but don't split if it's inside a string. Assume '\' escapes the next char both inside and outside strings.
-
splitSmart
public static List<String> splitSmart(String s, String separator, boolean decode)
Splits a backslash escaped string on the separator.Current backslash escaping supported:
\n \t \r \b \f are escaped the same as a Java String
Other characters following a backslash are produced verbatim (\c => c)- Parameters:
s
- the string to splitseparator
- the separator to split ondecode
- decode backslash escaping- Returns:
- not null
-
splitFileNames
public static List<String> splitFileNames(String fileNames)
Splits file names separated by comma character. File names can contain comma characters escaped by backslash '\'- Parameters:
fileNames
- the string containing file names- Returns:
- a list of file names with the escaping backslashed removed
-
join
public static String join(Collection<?> items, char separator)
Creates a backslash escaped string, joining all the items.
-
parseBoolean
public static boolean parseBoolean(String s)
Return if a string starts with '1', 't', or 'T' and return false otherwise.
-
parseBool
public static boolean parseBool(String s)
how to transform a String into a boolean... more flexible than Boolean.parseBoolean() to enable easier integration with html forms.
-
parseBool
public static boolean parseBool(String s, boolean def)
- Returns:
- parsed boolean value (or def, if s is null or invalid)
-
partialURLEncodeVal
public static void partialURLEncodeVal(Appendable dest, String val) throws IOException
URLEncodes a value, replacing only enough chars so that the URL may be unambiguously pasted back into a browser.Characters with a numeric value less than 32 are encoded. &,=,%,+,space are encoded.
- Throws:
IOException
-
escapeTextWithSeparator
public static String escapeTextWithSeparator(String item, char separator)
Creates a new copy of the string with the separator backslash escaped.- See Also:
join(java.util.Collection<?>, char)
-
appendEscapedTextToBuilder
public static void appendEscapedTextToBuilder(StringBuilder out, String item, char separator)
writes chars from item to out, backslash escaping as needed based on separator -- but does not append the separator itself
-
formatString
public static String formatString(String pattern, Object... args)
Format usingMessageFormat
but with the ROOT locale
-
-