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 final char[]`
`HEX_DIGITS`

## Constructor Summary

Constructors
Constructor
Description
`StrUtils()`

## Method Summary

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 itself
`static boolean`
`equalsIgnoreCase(String left, String right)`
`static 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 using `MessageFormat` but with the ROOT locale
`static boolean`
`isBlank(String string)`
`static boolean`
`isNotBlank(String string)`
`static boolean`
`isNotNullOrEmpty(String string)`
`static boolean`
`isNullOrEmpty(String string)`
`static 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)`
`NullPointerException` and `SolrException` free version of `parseBool(String)`
`static boolean`
`parseBoolean(CharSequence s)`
Return if a string starts with '1', 't', or 'T' and return false otherwise.
`static void`
`partialURLEncodeVal(StringBuilder 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 String`
`stringFromReader(Reader inReader)`
`static List<String>`
`toLower(List<String> strings)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### HEX_DIGITS

public static final char[] HEX_DIGITS

## Constructor Details

### StrUtils

public StrUtils()

## Method Details

### splitSmart

public static List<String> splitSmart(String s, char separator)

### split

public static List<String> split(String s, char sep)

### splitSmart

public static List<String> splitSmart(String s, char separator, boolean trimEmpty)

### 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 split
  `separator` - the separator to split on
  `decode` - 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 backslashes removed

### join

public static String join(Collection<?> items, char separator)
Creates a backslash escaped string, joining all the items.

See Also:
  - `escapeTextWithSeparator(java.lang.String, char)`

### splitWS

public static List<String> splitWS(String s, boolean decode)

### toLower

public static List<String> toLower(List<String> strings)

### parseBoolean

public static boolean parseBoolean(CharSequence 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)
`NullPointerException` and `SolrException` free version of `parseBool(String)`

Returns:
  parsed boolean value (or def, if s is null or invalid)

### partialURLEncodeVal

public static void partialURLEncodeVal(StringBuilder dest, String val)
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.

### 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 using `MessageFormat` but with the ROOT locale

### isNullOrEmpty

public static boolean isNullOrEmpty(String string)

### isNotNullOrEmpty

public static boolean isNotNullOrEmpty(String string)

### isBlank

public static boolean isBlank(String string)

### isNotBlank

public static boolean isNotBlank(String string)

### stringFromReader

public static String stringFromReader(Reader inReader) throws IOException

Throws:
  `IOException`

### equalsIgnoreCase

public static boolean equalsIgnoreCase(String left, String right)