Package org.htmlunit.util

# Class StringUtils

java.lang.Object
org.htmlunit.util.StringUtils

public final class StringUtils extends Object
String utilities class for utility functions not covered by third party libraries.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `static org.htmlunit.html.impl.Color`
  `asColorHexadecimal(String token)`
  Returns a Color parsed from the given RGB in hexadecimal notation.
  `static String`
  `cssCamelize(String string)`
  Transforms the specified string from delimiter-separated (e.g.
  `static String`
  `cssDeCamelize(String string)`
  Transforms the specified string from camel-cased (e.g.
  `static boolean`
  `equalsChar(char expected, CharSequence s)`
  `static String`
  `escapeXml(String text)`
  Escape the string to be used as xml 1.0 content be replacing the characters '"', '&', ''', '<', and '>' into their XML entity equivalents.
  `static String`
  `escapeXmlAttributeValue(String attValue)`
  Escape the string to be used as attribute value.
  `static String`
  `escapeXmlChars(String s)`
  Escapes the characters '<', '>' and '&' into their XML entity equivalents.
  `static org.htmlunit.html.impl.Color`
  `findColorHSL(String token)`
  Returns a Color parsed from the given hsl notation if found inside the given string.
  `static org.htmlunit.html.impl.Color`
  `findColorRGB(String token)`
  Returns a Color parsed from the given rgb notation if found inside the given string.
  `static org.htmlunit.html.impl.Color`
  `findColorRGBA(String token)`
  Returns a Color parsed from the given rgb notation.
  `static String`
  `formatColor(org.htmlunit.html.impl.Color color)`
  Formats the specified color.
  `static int`
  `indexOf(String s, char searchChar, int beginIndex, int endIndex)`
  Returns the index within the specified string of the first occurrence of the specified search character.
  `static boolean`
  `isEmptyString(CharSequence s)`
  Returns true if the param is not null and empty.
  `static String`
  `sanitizeForAppendReplacement(String toSanitize)`
  Sanitize a string for use in Matcher.appendReplacement.
  `static String`
  `sanitizeForFileName(String toSanitize)`
  Sanitizes a string for use as filename.
  `static String[]`
  `splitAtBlank(String str)`
  Splits the provided text into an array, using blank as the separator.
  `static String[]`
  `splitAtComma(String str)`
  Splits the provided text into an array, using blank as the separator.
  `static String[]`
  `splitAtCommaOrBlank(String str)`
  Splits the provided text into an array, using comma or blank as the separator.
  `static String[]`
  `splitAtJavaWhitespace(String str)`
  Splits the provided text into an array, using whitespace as the separator.
  `static boolean`
  `startsWithIgnoreCase(String s, String expectedStart)`
  `static byte[]`
  `toByteArray(String content, Charset charset)`
  Converts a string into a byte array using the specified encoding.
  `static String`
  `toRootLowerCase(String s)`
  Lowercases a string by checking and check for null first.

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

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

- ## Method Details

  - ### isEmptyString

    public static boolean isEmptyString(CharSequence s)
    Returns true if the param is not null and empty. This is different from `StringUtils.isEmpty(CharSequence)` because this returns false if the provided string is null.
    Parameters:
      `s` - the string to check
    Returns:
      true if the param is not null and empty

  - ### equalsChar

    public static boolean equalsChar(char expected, CharSequence s)
    Parameters:
      `expected` - the char that we expect
      `s` - the string to check
    Returns:
      true if the provided string has only one char and this matches the expectation

  - ### startsWithIgnoreCase

    public static boolean startsWithIgnoreCase(String s, String expectedStart)
    Parameters:
      `s` - the string to check
      `expectedStart` - the string that we expect at the beginning
    Returns:
      true if the provided string has only one char and this matches the expectation

  - ### escapeXmlChars

    public static String escapeXmlChars(String s)
    Escapes the characters '<', '>' and '&' into their XML entity equivalents.
    Parameters:
      `s` - the string to escape
    Returns:
      the escaped form of the specified string

  - ### escapeXml

    public static String escapeXml(String text)
    Escape the string to be used as xml 1.0 content be replacing the characters '"', '&', ''', '<', and '>' into their XML entity equivalents.
    Parameters:
      `text` - the attribute value
    Returns:
      the escaped value

  - ### escapeXmlAttributeValue

    public static String escapeXmlAttributeValue(String attValue)
    Escape the string to be used as attribute value. Only `<`, `&` and `"` have to be escaped (see http://www.w3.org/TR/REC-xml/#d0e888).
    Parameters:
      `attValue` - the attribute value
    Returns:
      the escaped value

  - ### indexOf

    public static int indexOf(String s, char searchChar, int beginIndex, int endIndex)
    Returns the index within the specified string of the first occurrence of the specified search character.
    Parameters:
      `s` - the string to search
      `searchChar` - the character to search for
      `beginIndex` - the index at which to start the search
      `endIndex` - the index at which to stop the search
    Returns:
      the index of the first occurrence of the character in the string or `-1`

  - ### asColorHexadecimal

    public static org.htmlunit.html.impl.Color asColorHexadecimal(String token)
    Returns a Color parsed from the given RGB in hexadecimal notation.
    Parameters:
      `token` - the token to parse
    Returns:
      a Color whether the token is a color RGB in hexadecimal notation; otherwise null

  - ### findColorRGB

    public static org.htmlunit.html.impl.Color findColorRGB(String token)
    Returns a Color parsed from the given rgb notation if found inside the given string.
    Parameters:
      `token` - the token to parse
    Returns:
      a Color whether the token contains a color in RGB notation; otherwise null

  - ### findColorRGBA

    public static org.htmlunit.html.impl.Color findColorRGBA(String token)
    Returns a Color parsed from the given rgb notation.
    Parameters:
      `token` - the token to parse
    Returns:
      a Color whether the token is a color in RGB notation; otherwise null

  - ### findColorHSL

    public static org.htmlunit.html.impl.Color findColorHSL(String token)
    Returns a Color parsed from the given hsl notation if found inside the given string.
    Parameters:
      `token` - the token to parse
    Returns:
      a Color whether the token contains a color in RGB notation; otherwise null

  - ### formatColor

    public static String formatColor(org.htmlunit.html.impl.Color color)
    Formats the specified color.
    Parameters:
      `color` - the color to format
    Returns:
      the specified color, formatted

  - ### sanitizeForAppendReplacement

    public static String sanitizeForAppendReplacement(String toSanitize)
    Sanitize a string for use in Matcher.appendReplacement. Replaces all \ with \\ and $ as \$ because they are used as control characters in appendReplacement.
    Parameters:
      `toSanitize` - the string to sanitize
    Returns:
      sanitized version of the given string

  - ### sanitizeForFileName

    public static String sanitizeForFileName(String toSanitize)
    Sanitizes a string for use as filename. Replaces \, /, |, :, ?, *, ", <, >, control chars by _ (underscore).
    Parameters:
      `toSanitize` - the string to sanitize
    Returns:
      sanitized version of the given string

  - ### cssCamelize

    public static String cssCamelize(String string)
    Transforms the specified string from delimiter-separated (e.g. `font-size`) to camel-cased (e.g. `fontSize`).
    Parameters:
      `string` - the string to camelize
    Returns:
      the transformed string

  - ### toRootLowerCase

    public static String toRootLowerCase(String s)
    Lowercases a string by checking and check for null first. There is no cache involved and the ROOT locale is used to convert it.
    Parameters:
      `s` - the string to lowercase
    Returns:
      the lowercased string

  - ### cssDeCamelize

    public static String cssDeCamelize(String string)
    Transforms the specified string from camel-cased (e.g. `fontSize`) to delimiter-separated (e.g. `font-size`). to camel-cased .
    Parameters:
      `string` - the string to decamelize
    Returns:
      the transformed string

  - ### toByteArray

    public static byte[] toByteArray(String content, Charset charset)
    Converts a string into a byte array using the specified encoding.
    Parameters:
      `content` - the string to convert
      `charset` - the charset
    Returns:
      the String as a byte[]; if the specified encoding is not supported an empty byte[] will be returned

  - ### splitAtJavaWhitespace

    public static String[] splitAtJavaWhitespace(String str)
    Splits the provided text into an array, using whitespace as the separator. Whitespace is defined by `Character.isWhitespace(char)`.
    Parameters:
      `str` - the String to parse, may be null
    Returns:
      an array of parsed Strings, an empty array if null String input

  - ### splitAtBlank

    public static String[] splitAtBlank(String str)
    Splits the provided text into an array, using blank as the separator.
    Parameters:
      `str` - the String to parse, may be null
    Returns:
      an array of parsed Strings, an empty array if null String input

  - ### splitAtComma

    public static String[] splitAtComma(String str)
    Splits the provided text into an array, using blank as the separator.
    Parameters:
      `str` - the String to parse, may be null
    Returns:
      an array of parsed Strings, an empty array if null String input

  - ### splitAtCommaOrBlank

    public static String[] splitAtCommaOrBlank(String str)
    Splits the provided text into an array, using comma or blank as the separator.
    Parameters:
      `str` - the String to parse, may be null
    Returns:
      an array of parsed Strings, an empty array if null String input