Class StringUtil


  • public final class StringUtil
    extends Object
    A minimal String utility class. Designed for internal jsoup use only.
    • Constructor Detail

      • StringUtil

        public StringUtil()
    • Method Detail

      • join

        public static String join​(Collection strings,
                                  String sep)
        Join a collection of strings by a separator
        Parameters:
        strings - collection of string objects
        sep - string to place between strings
        Returns:
        joined string
      • join

        public static String join​(Iterator strings,
                                  String sep)
        Join a collection of strings by a separator
        Parameters:
        strings - iterator of string objects
        sep - string to place between strings
        Returns:
        joined string
      • join

        public static String join​(String[] strings,
                                  String sep)
        Join an array of strings by a separator
        Parameters:
        strings - collection of string objects
        sep - string to place between strings
        Returns:
        joined string
      • padding

        public static String padding​(int width)
        Returns space padding
        Parameters:
        width - amount of padding desired
        Returns:
        string of spaces * width
      • isBlank

        public static boolean isBlank​(String string)
        Tests if a string is blank: null, empty, or only whitespace (" ", \r\n, \t, etc)
        Parameters:
        string - string to test
        Returns:
        if string is blank
      • isNumeric

        public static boolean isNumeric​(String string)
        Tests if a string is numeric, i.e. contains only digit characters
        Parameters:
        string - string to test
        Returns:
        true if only digit chars, false if empty or null or contains non-digit chars
      • isWhitespace

        public static boolean isWhitespace​(int c)
        Tests if a code point is "whitespace" as defined in the HTML spec. Used for output HTML.
        Parameters:
        c - code point to test
        Returns:
        true if code point is whitespace, false otherwise
        See Also:
        isActuallyWhitespace(int)
      • isActuallyWhitespace

        public static boolean isActuallyWhitespace​(int c)
        Tests if a code point is "whitespace" as defined by what it looks like. Used for Element.text etc.
        Parameters:
        c - code point to test
        Returns:
        true if code point is whitespace, false otherwise
      • isInvisibleChar

        public static boolean isInvisibleChar​(int c)
      • normaliseWhitespace

        public static String normaliseWhitespace​(String string)
        Normalise the whitespace within this string; multiple spaces collapse to a single, and all whitespace characters (e.g. newline, tab) convert to a simple space
        Parameters:
        string - content to normalise
        Returns:
        normalised string
      • appendNormalisedWhitespace

        public static void appendNormalisedWhitespace​(StringBuilder accum,
                                                      String string,
                                                      boolean stripLeading)
        After normalizing the whitespace within a string, appends it to a string builder.
        Parameters:
        accum - builder to append to
        string - string to normalize whitespace within
        stripLeading - set to true if you wish to remove any leading whitespace
      • in

        public static boolean in​(String needle,
                                 String... haystack)
      • inSorted

        public static boolean inSorted​(String needle,
                                       String[] haystack)
      • resolve

        public static URL resolve​(URL base,
                                  String relUrl)
                           throws MalformedURLException
        Create a new absolute URL, from a provided existing absolute URL and a relative URL component.
        Parameters:
        base - the existing absolute base URL
        relUrl - the relative URL to resolve. (If it's already absolute, it will be returned)
        Returns:
        the resolved absolute URL
        Throws:
        MalformedURLException - if an error occurred generating the URL
      • resolve

        public static String resolve​(String baseUrl,
                                     String relUrl)
        Create a new absolute URL, from a provided existing absolute URL and a relative URL component.
        Parameters:
        baseUrl - the existing absolute base URL
        relUrl - the relative URL to resolve. (If it's already absolute, it will be returned)
        Returns:
        an absolute URL if one was able to be generated, or the empty string if not
      • borrowBuilder

        public static StringBuilder borrowBuilder()
        Maintains cached StringBuilders in a flyweight pattern, to minimize new StringBuilder GCs. The StringBuilder is prevented from growing too large.

        Care must be taken to release the builder once its work has been completed, with releaseBuilder(java.lang.StringBuilder)

        Returns:
        an empty StringBuilder
      • releaseBuilder

        public static String releaseBuilder​(StringBuilder sb)
        Release a borrowed builder. Care must be taken not to use the builder after it has been returned, as its contents may be changed by this method, or by a concurrent thread.
        Parameters:
        sb - the StringBuilder to release.
        Returns:
        the string value of the released String Builder (as an incentive to release it!).