Class Strings


  • public class Strings
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      Strings()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static int adjustBegin​(java.lang.String s, int n)  
      static int adjustEnd​(java.lang.String s, int n)  
      static char charAt​(java.lang.String s, int n)  
      static boolean compareExcept​(java.lang.String a, java.lang.String b, java.util.regex.Pattern pattern)
      Compare two strings except for where the first group in pattern.
      static java.lang.String delete​(java.lang.String s, int begin, int end)  
      static java.lang.String display​(java.lang.Object o, java.lang.Object... ifNull)  
      static java.lang.String ensurePrefix​(java.lang.String s, java.lang.String prefix)  
      static java.lang.String ensureSuffix​(java.lang.String s, java.lang.String suffix)  
      static java.lang.String escape​(java.lang.String string, java.util.regex.Pattern illegalCharacters, char escape)
      Escape illegal characters in a string with an escape character and the 4-digit hex Unicode encoding.
      static java.lang.String[] extension​(java.lang.String s)
      Split a string into a base and an extension.
      static java.lang.String[] first​(java.lang.String s, char separator)  
      static java.lang.String format​(java.lang.String string, java.lang.Object... parms)
      This method is the same as String.format but it makes sure that any arrays are transformed to strings.
      static java.lang.String from​(java.lang.String s, int n)  
      static java.lang.String getLastSegment​(java.lang.String name)  
      static java.lang.String getLastSegment​(java.lang.String name, char c)  
      static boolean in​(java.lang.String[] skip, java.lang.String key)  
      static java.lang.String join​(java.lang.Iterable<?> objects)  
      static java.lang.String join​(java.lang.Object... strings)  
      static java.lang.String join​(java.lang.String... strings)  
      static void join​(java.lang.StringBuilder sb, java.lang.String middle, java.lang.Iterable<?> objects, java.util.regex.Pattern pattern, java.lang.String replace)  
      static java.lang.String join​(java.lang.String middle, java.lang.Iterable<?> objects)  
      static java.lang.String join​(java.lang.String middle, java.lang.Iterable<?> objects, java.util.regex.Pattern pattern, java.lang.String replace)  
      static java.lang.String join​(java.lang.String middle, java.lang.Object[] segments)  
      static java.util.stream.Collector<java.lang.CharSequence,​?,​java.lang.String> joining()  
      static java.util.stream.Collector<java.lang.CharSequence,​?,​java.lang.String> joining​(java.lang.CharSequence delimiter, java.lang.CharSequence prefix, java.lang.CharSequence suffix, java.lang.CharSequence emptyValue)  
      static java.lang.String[] last​(java.lang.String s, char separator)
      Split a string into a prefix and a suffix based on the last time the separator appears
      static java.lang.String[] lastPathSegment​(java.lang.String s)
      Split a path (/ based) into a prefix and a last segment
      static boolean nonNullOrEmpty​(java.lang.String s)  
      static boolean nonNullOrTrimmedEmpty​(java.lang.String s)  
      static boolean notEmpty​(java.lang.String s)  
      static java.lang.String removeQuotes​(java.lang.String s)  
      static java.util.List<java.lang.String> split​(java.lang.String s)  
      static java.util.List<java.lang.String> split​(java.lang.String regex, java.lang.String s)  
      static java.util.List<java.lang.String> split​(java.lang.String s, java.util.regex.Pattern splitter)  
      static java.util.stream.Stream<java.lang.String> splitAsStream​(java.lang.String s)  
      static java.util.stream.Stream<java.lang.String> splitAsStream​(java.lang.String s, java.util.regex.Pattern splitter)  
      static java.util.List<java.lang.String> splitLines​(java.lang.String s)  
      static java.util.stream.Stream<java.lang.String> splitLinesAsStream​(java.lang.String s)  
      static java.util.List<java.lang.String> splitQuoted​(java.lang.String s)  
      static java.util.List<java.lang.String> splitQuoted​(java.lang.String s, java.lang.String separators)  
      static java.util.stream.Stream<java.lang.String> splitQuotedAsStream​(java.lang.String s)  
      static java.util.stream.Stream<java.lang.String> splitQuotedAsStream​(java.lang.String s, boolean retainQuotes)  
      static java.util.stream.Stream<java.lang.String> splitQuotedAsStream​(java.lang.String s, java.lang.String separators)  
      static java.util.stream.Stream<java.lang.String> splitQuotedAsStream​(java.lang.String s, java.lang.String separators, boolean retainQuotes)  
      static java.lang.String stripPrefix​(java.lang.String s, java.lang.String prefix)  
      static java.lang.String stripPrefix​(java.lang.String s, java.util.regex.Pattern p)  
      static java.lang.String stripSuffix​(java.lang.String s, java.lang.String suffix)  
      static java.lang.String stripSuffix​(java.lang.String s, java.util.regex.Pattern p)  
      static java.lang.String substring​(java.lang.String s, int begin, int end)  
      static java.lang.String substring​(java.lang.String s, int begin, int end, int stride)  
      static java.lang.String times​(java.lang.String s, int times)  
      static java.lang.String to​(java.lang.String s, int end)  
      static java.lang.String toString​(double n, java.lang.String suffix)  
      static java.lang.String trim​(java.lang.String s)  
      static java.util.Optional<java.lang.String> unescape​(java.lang.String string, char escape)
      Unescape a string with the given escape character.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Strings

        public Strings()
    • Method Detail

      • join

        public static java.lang.String join​(java.lang.String middle,
                                            java.lang.Iterable<?> objects)
      • join

        public static java.lang.String join​(java.lang.Iterable<?> objects)
      • join

        public static java.lang.String join​(java.lang.String middle,
                                            java.lang.Iterable<?> objects,
                                            java.util.regex.Pattern pattern,
                                            java.lang.String replace)
      • join

        public static void join​(java.lang.StringBuilder sb,
                                java.lang.String middle,
                                java.lang.Iterable<?> objects,
                                java.util.regex.Pattern pattern,
                                java.lang.String replace)
      • join

        public static java.lang.String join​(java.lang.String middle,
                                            java.lang.Object[] segments)
      • joining

        public static java.util.stream.Collector<java.lang.CharSequence,​?,​java.lang.String> joining()
      • joining

        public static java.util.stream.Collector<java.lang.CharSequence,​?,​java.lang.String> joining​(java.lang.CharSequence delimiter,
                                                                                                                java.lang.CharSequence prefix,
                                                                                                                java.lang.CharSequence suffix,
                                                                                                                java.lang.CharSequence emptyValue)
      • display

        public static java.lang.String display​(java.lang.Object o,
                                               java.lang.Object... ifNull)
      • join

        public static java.lang.String join​(java.lang.String... strings)
      • join

        public static java.lang.String join​(java.lang.Object... strings)
      • getLastSegment

        public static java.lang.String getLastSegment​(java.lang.String name,
                                                      char c)
      • getLastSegment

        public static java.lang.String getLastSegment​(java.lang.String name)
      • trim

        public static java.lang.String trim​(java.lang.String s)
      • notEmpty

        public static boolean notEmpty​(java.lang.String s)
      • nonNullOrEmpty

        public static boolean nonNullOrEmpty​(java.lang.String s)
      • nonNullOrTrimmedEmpty

        public static boolean nonNullOrTrimmedEmpty​(java.lang.String s)
      • splitAsStream

        public static java.util.stream.Stream<java.lang.String> splitAsStream​(java.lang.String s)
      • splitAsStream

        public static java.util.stream.Stream<java.lang.String> splitAsStream​(java.lang.String s,
                                                                              java.util.regex.Pattern splitter)
      • split

        public static java.util.List<java.lang.String> split​(java.lang.String s)
      • split

        public static java.util.List<java.lang.String> split​(java.lang.String s,
                                                             java.util.regex.Pattern splitter)
      • splitQuotedAsStream

        public static java.util.stream.Stream<java.lang.String> splitQuotedAsStream​(java.lang.String s)
      • splitQuotedAsStream

        public static java.util.stream.Stream<java.lang.String> splitQuotedAsStream​(java.lang.String s,
                                                                                    java.lang.String separators)
      • splitQuotedAsStream

        public static java.util.stream.Stream<java.lang.String> splitQuotedAsStream​(java.lang.String s,
                                                                                    boolean retainQuotes)
      • splitQuotedAsStream

        public static java.util.stream.Stream<java.lang.String> splitQuotedAsStream​(java.lang.String s,
                                                                                    java.lang.String separators,
                                                                                    boolean retainQuotes)
      • splitLinesAsStream

        public static java.util.stream.Stream<java.lang.String> splitLinesAsStream​(java.lang.String s)
      • splitLines

        public static java.util.List<java.lang.String> splitLines​(java.lang.String s)
      • splitQuoted

        public static java.util.List<java.lang.String> splitQuoted​(java.lang.String s)
      • splitQuoted

        public static java.util.List<java.lang.String> splitQuoted​(java.lang.String s,
                                                                   java.lang.String separators)
      • split

        public static java.util.List<java.lang.String> split​(java.lang.String regex,
                                                             java.lang.String s)
      • in

        public static boolean in​(java.lang.String[] skip,
                                 java.lang.String key)
      • charAt

        public static char charAt​(java.lang.String s,
                                  int n)
      • from

        public static java.lang.String from​(java.lang.String s,
                                            int n)
      • substring

        public static java.lang.String substring​(java.lang.String s,
                                                 int begin,
                                                 int end)
      • substring

        public static java.lang.String substring​(java.lang.String s,
                                                 int begin,
                                                 int end,
                                                 int stride)
      • delete

        public static java.lang.String delete​(java.lang.String s,
                                              int begin,
                                              int end)
      • to

        public static java.lang.String to​(java.lang.String s,
                                          int end)
      • adjustBegin

        public static int adjustBegin​(java.lang.String s,
                                      int n)
      • adjustEnd

        public static int adjustEnd​(java.lang.String s,
                                    int n)
      • extension

        public static java.lang.String[] extension​(java.lang.String s)
        Split a string into a base and an extension.
        Parameters:
        s - the string that contains an extension
        Returns:
        null if no extension or an array of 2 elements, first is the prefix and second is the extension without a '.'
      • lastPathSegment

        public static java.lang.String[] lastPathSegment​(java.lang.String s)
        Split a path (/ based) into a prefix and a last segment
        Parameters:
        s - the string that contains a path
        Returns:
        null if no extension or an array of 2 elements, first is the prefix and second is the last segment without a '/' at the start
      • last

        public static java.lang.String[] last​(java.lang.String s,
                                              char separator)
        Split a string into a prefix and a suffix based on the last time the separator appears
        Parameters:
        s - the string that contains a path
        Returns:
        null if no suffix or an array of 2 elements, first is the prefix and second is the suffix without the separator at the start
      • first

        public static java.lang.String[] first​(java.lang.String s,
                                               char separator)
      • stripPrefix

        public static java.lang.String stripPrefix​(java.lang.String s,
                                                   java.lang.String prefix)
      • stripPrefix

        public static java.lang.String stripPrefix​(java.lang.String s,
                                                   java.util.regex.Pattern p)
      • stripSuffix

        public static java.lang.String stripSuffix​(java.lang.String s,
                                                   java.lang.String suffix)
      • stripSuffix

        public static java.lang.String stripSuffix​(java.lang.String s,
                                                   java.util.regex.Pattern p)
      • ensureSuffix

        public static java.lang.String ensureSuffix​(java.lang.String s,
                                                    java.lang.String suffix)
      • ensurePrefix

        public static java.lang.String ensurePrefix​(java.lang.String s,
                                                    java.lang.String prefix)
      • times

        public static java.lang.String times​(java.lang.String s,
                                             int times)
      • format

        public static java.lang.String format​(java.lang.String string,
                                              java.lang.Object... parms)
        This method is the same as String.format but it makes sure that any arrays are transformed to strings.
        Parameters:
        string -
        parms -
      • compareExcept

        public static boolean compareExcept​(java.lang.String a,
                                            java.lang.String b,
                                            java.util.regex.Pattern pattern)
        Compare two strings except for where the first group in pattern. The patterns is matched in the strings using find(). Only group 1 is ignored. Use ignored groups (?:...) to ignore irrelevant groups.
                        a = "abcdefxxxxghixxxxx678"
                        b = "abcdefxxghix678"
                        Pattern "(x+)"
         
        First developed to compare two XML files that only differed in their increment number, which was a time long.
        Parameters:
        a - the first string to compare
        b - the second string to compare
        pattern - where first group should be ignored in the comparison
        Returns:
        true if the strings are equal ignoring the first group's pattern matches
      • toString

        public static java.lang.String toString​(double n,
                                                java.lang.String suffix)
      • escape

        public static java.lang.String escape​(java.lang.String string,
                                              java.util.regex.Pattern illegalCharacters,
                                              char escape)
        Escape illegal characters in a string with an escape character and the 4-digit hex Unicode encoding. A string escaped like this can be unescaped with unescape(String, char) using the same escape character.
        Parameters:
        string - a string to be escaped
        illegalCharacters - a pattern matching illegal characters, must include the escape character
        escape - an escape character, must be included in the illegalCharacters
        Returns:
        a string that does not contain the illegalCharacters except the escape
      • unescape

        public static java.util.Optional<java.lang.String> unescape​(java.lang.String string,
                                                                    char escape)
        Unescape a string with the given escape character. There must be 4 hex digits after each escape character.
        Parameters:
        string - the string to unescape, can be null
        escape - the escape character
        Returns:
        an Optional, present if the escaping was successful
      • removeQuotes

        public static java.lang.String removeQuotes​(java.lang.String s)