Package aQute.lib.strings
Class Strings
- java.lang.Object
-
- aQute.lib.strings.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 appearsstatic java.lang.String[]
lastPathSegment(java.lang.String s)
Split a path (/ based) into a prefix and a last segmentstatic 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.
-
-
-
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 compareb
- the second string to comparepattern
- 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 withunescape(String, char)
using the same escape character.- Parameters:
string
- a string to be escapedillegalCharacters
- a pattern matching illegal characters, must include the escape characterescape
- 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 nullescape
- the escape character- Returns:
- an Optional, present if the escaping was successful
-
removeQuotes
public static java.lang.String removeQuotes(java.lang.String s)
-
-