Class StringUtils


  • public final class StringUtils
    extends Object
    Implements utility functions for the String class

    Emphasis on performance and reduced memory allocation/garbage collection in exchange for longer more complex code.

    • Method Detail

      • isEmpty

        public static boolean isEmpty​(String value)
      • isBlank

        public static boolean isBlank​(String str)
      • isNotEmpty

        public static boolean isNotEmpty​(String value)
      • isNotBlank

        public static boolean isNotBlank​(String value)
      • isFloatNoExponent

        public static boolean isFloatNoExponent​(String str)
        Checks that the string represents a floating point number that CANNOT be in exponential notation
        Parameters:
        str - the string to check
        Returns:
        boolean
      • isFloatWithOptionalExponent

        public static boolean isFloatWithOptionalExponent​(String str)
      • isInteger

        public static boolean isInteger​(String str)
      • isUnsignedInteger

        public static boolean isUnsignedInteger​(String str)
      • dequote

        public static String dequote​(String str,
                                     char quote)
        Undoubles the quotes inside the string
        Example:
         hello""world becomes hello"world
         
        Parameters:
        str - input string to dequote
        quote - the quoting char
        Returns:
        dequoted string
      • dequote

        public static String dequote​(String str,
                                     int begin,
                                     int end,
                                     char quote)
        Undoubles the quotes inside a substring
        Example:
         hello""world becomes hello"world
         
        WARNING: scan for quote may continue to the end of the string, make sure that either charAt(end + 1) == quote or end = str.lentgth(). If in doubt call dequote(str.substring(begin, end), quote)
        Parameters:
        str - input string from which to get the substring, must not be null
        begin - begin index for substring
        end - end index for substring
        quote - the quoting char
        Returns:
        dequoted string
        Throws:
        IllegalArgumentException - if string is incorrectly quoted
      • dequoteFull

        public static String dequoteFull​(String str,
                                         char quote)
        Removes the surrounding quote and any double quote inside the string
        Example:
         "hello""world" becomes hello"world
         
        Parameters:
        str - input string to dequote
        quote - the quoting char
        Returns:
        dequoted String
      • dequoteFull

        public static String dequoteFull​(String str,
                                         int begin,
                                         int end,
                                         char quote)
      • splitLongString

        public static String[] splitLongString​(String str,
                                               char separator)
        Split a string into an array of strings arround a character separator. This function will be efficient for longer strings
        Parameters:
        str - the string to be split
        separator - the separator character
        Returns:
        array of string subparts
      • splitLongString

        public static String[] splitLongString​(String str,
                                               char separator,
                                               char quote)
        Split a string into an array of strings arround a character separator. Each element can be optionally quoted by the quote character.
        This function will be efficient for long strings
        Parameters:
        str - the string to be split
        separator - the separator character
        quote - the quote character
        Returns:
        array of string subparts
        Throws:
        IllegalArgumentException - DOCUMENT ME!
      • splitShortString

        public static String[] splitShortString​(String str,
                                                char separator)
        Split a string into an array of strings arround a character separator. This function will be efficient for short strings, for longer strings, another approach may be better
        Parameters:
        str - the string to be split
        separator - the separator character
        Returns:
        array of string subparts
      • splitShortString

        public static String[] splitShortString​(String str,
                                                char separator,
                                                char quote)
        Split a string into an array of strings arround a character separator. Each element can be optionally quoted by the quote character.
        This function will be efficient for short strings, for longer strings, another approach may be better
        Parameters:
        str - the string to be split
        separator - the separator character
        quote - the quote character
        Returns:
        array of string subparts
        Throws:
        IllegalArgumentException - DOCUMENT ME!
      • substring

        public static String substring​(String str,
                                       int begin,
                                       int end)
      • minIndex

        public static int minIndex​(int a,
                                   int b)
        Returns the minimum index >= 0, if any

        Use to find the first of two characters in a string:
        minIndex(s.indexOf('/'), indexOf('\'))

        Parameters:
        a -
        b -
        Returns: