Package aQute.lib.strings
Class Strings
- java.lang.Object
-
- aQute.lib.strings.Strings
-
public class Strings extends java.lang.Object
-
-
Field Summary
Fields Modifier and Type Field Description private static java.lang.String
COMMA
private static java.util.regex.Pattern
SIMPLE_LINE_SPLITTER
private static java.util.regex.Pattern
SIMPLE_LIST_SPLITTER
-
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[]
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 segmentprivate static java.lang.Object
makePrintable(java.lang.Object object)
private static java.lang.Object[]
makePrintableArray(java.lang.Object array)
static boolean
notEmpty(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.stream.Stream<java.lang.String>
splitAsStream(java.lang.String s)
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.stream.Stream<java.lang.String>
splitQuotedAsStream(java.lang.String s)
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 prefix)
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
trim(java.lang.String s)
-
-
-
Field Detail
-
COMMA
private static final java.lang.String COMMA
- See Also:
- Constant Field Values
-
SIMPLE_LIST_SPLITTER
private static final java.util.regex.Pattern SIMPLE_LIST_SPLITTER
-
SIMPLE_LINE_SPLITTER
private static final java.util.regex.Pattern SIMPLE_LINE_SPLITTER
-
-
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)
-
splitAsStream
public static java.util.stream.Stream<java.lang.String> splitAsStream(java.lang.String s)
-
split
public static java.util.List<java.lang.String> split(java.lang.String s)
-
splitQuotedAsStream
public static java.util.stream.Stream<java.lang.String> splitQuotedAsStream(java.lang.String s)
-
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)
-
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 extension or an array of 2 elements, first is the prefix and second is the last segment 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 prefix)
-
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
-
-
makePrintableArray
private static java.lang.Object[] makePrintableArray(java.lang.Object array)
-
makePrintable
private static java.lang.Object makePrintable(java.lang.Object object)
-
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
-
-