java.lang.Object
com.intellij.openapi.util.text.Strings
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanareSameInstance(@Nullable String s1, @Nullable String s2) static @NotNull Stringcapitalize(@NotNull String s) Capitalize the first letter of the sentence.static booleancharsEqualIgnoreCase(char a, char b) static booleancharsMatch(char c1, char c2, boolean ignoreCase) static intcompare(char c1, char c2, boolean ignoreCase) static intcompare(@Nullable CharSequence s1, @Nullable CharSequence s2, boolean ignoreCase) static booleancontains(@NotNull CharSequence s, int start, int end, char c) Allows to answer if target symbol is contained at given char sequence at[start; end)interval.static booleancontains(@NotNull CharSequence sequence, @NotNull CharSequence infix) static booleancontainsAnyChar(@NotNull String value, @NotNull String chars) static booleancontainsAnyChar(@NotNull String value, @NotNull String chars, int start, int end) static booleancontainsChar(@NotNull String value, char ch) static @NotNull StringconvertLineSeparators(@NotNull String text) static @NotNull StringconvertLineSeparators(@NotNull String text, boolean keepCarriageReturn) static @NotNull StringconvertLineSeparators(@NotNull String text, @NotNull String newSeparator) static @NotNull StringconvertLineSeparators(@NotNull String text, @NotNull String newSeparator, int @Nullable [] offsetsToKeep) static intcountChars(@NotNull CharSequence text, char c) static intcountChars(@NotNull CharSequence text, char c, int offset, boolean stopAtOtherChar) static intcountChars(@NotNull CharSequence text, char c, int start, int end, boolean stopAtOtherChar) static booleanendsWith(@NotNull CharSequence text, @NotNull CharSequence suffix) static booleanendsWithChar(@Nullable CharSequence s, char suffix) static booleanendsWithIgnoreCase(@NotNull CharSequence str, @NotNull String suffix) static booleanequalsIgnoreWhitespaces(@Nullable CharSequence s1, @Nullable CharSequence s2) static booleanequalsTrimWhitespaces(@NotNull CharSequence s1, @NotNull CharSequence s2) static @NotNull StringBuilderescapeToRegexp(@NotNull CharSequence text, @NotNull StringBuilder builder) static @NotNull StringescapeXmlEntities(@NotNull String text) static intindexOf(char @NotNull [] s, char c, int start, int end, boolean caseSensitive) static intindexOf(@NotNull CharSequence s, char c) static intindexOf(@NotNull CharSequence s, char c, int start) static intindexOf(@NotNull CharSequence s, char c, int start, int end) static intindexOf(@NotNull CharSequence s, char c, int start, int end, boolean caseSensitive) static intindexOf(@NotNull CharSequence sequence, @NotNull CharSequence infix) static intindexOf(@NotNull CharSequence sequence, @NotNull CharSequence infix, int start) static intindexOf(@NotNull CharSequence sequence, @NotNull CharSequence infix, int start, int end) static intindexOfAny(@NotNull CharSequence s, @NotNull String chars) static intindexOfAny(@NotNull CharSequence s, @NotNull String chars, int start, int end) static intindexOfAny(@NotNull String s, @NotNull String chars) static intindexOfAny(@NotNull String s, @NotNull String chars, int start, int end) static intindexOfIgnoreCase(@NotNull CharSequence where, @NotNull CharSequence what, int fromIndex) Implementation copied fromString.indexOf(String, int)except character comparisons made case-insensitivestatic intindexOfIgnoreCase(@NotNull String where, char what, int fromIndex) static intindexOfIgnoreCase(@NotNull String where, @NotNull String what, int fromIndex) static booleanisAscii(char ch) static booleanisCapitalized(@Nullable String s) static booleanisDecimalDigit(char c) static booleanisEmpty(@Nullable CharSequence cs) static booleanstatic booleanisEmptyOrSpaces(@Nullable CharSequence s) static booleanisNotEmpty(@Nullable String s) static booleanisNotNegativeNumber(@Nullable CharSequence s) static booleanisWhiteSpace(char c) static @NotNull Stringstatic @NotNull Stringstatic <T> @NotNull Stringjoin(@NotNull Iterable<? extends T> items, @NotNull Function<? super T, ? extends CharSequence> f, @NotNull String separator) static <T> voidjoin(@NotNull Iterable<? extends T> items, @NotNull Function<? super T, ? extends CharSequence> f, @NotNull String separator, @NotNull StringBuilder result) static <T> @NotNull Stringjoin(@NotNull Collection<? extends T> items, @NotNull Function<? super T, String> f, @NotNull String separator) static @NotNull Stringjoin(@NotNull Collection<String> strings, @NotNull String separator) static voidjoin(@NotNull Collection<String> strings, @NotNull String separator, @NotNull StringBuilder result) static @NotNull Stringstatic <T> @NotNull Stringstatic @NotNull StringnotNullize(@Nullable String s) static @NotNull StringnotNullize(@Nullable String s, @NotNull String defaultValue) static @Nullable Stringstatic @Nullable Stringstatic @Nullable Stringstatic @NotNull Stringstatic @NotNull Stringstatic booleanstartsWith(@NotNull CharSequence text, int startIndex, @NotNull CharSequence prefix) static intstringHashCode(char @NotNull [] chars, int from, int to) static intstringHashCode(@NotNull CharSequence chars) static intstringHashCode(@NotNull CharSequence chars, int from, int to) static intstringHashCode(@NotNull CharSequence chars, int from, int to, int prefixHash) static intstringHashCodeIgnoreWhitespaces(@NotNull CharSequence chars) static intstringHashCodeInsensitive(char @NotNull [] chars, int from, int to) static intstringHashCodeInsensitive(@NotNull CharSequence chars) static intstringHashCodeInsensitive(@NotNull CharSequence chars, int from, int to) static intstringHashCodeInsensitive(@NotNull CharSequence chars, int from, int to, int prefixHash) static chartoLowerCase(char a) static StringtoLowerCase(@Nullable String str) static chartoUpperCase(char a) static Stringstatic Stringstatic @NotNull Stringstatic @NotNull Stringstatic @NotNull Stringstatic @NotNull Stringstatic @NotNull StringunescapeXmlEntities(@NotNull String text) static @Nullable Stringunpluralize(@NotNull String word) Returns unpluralized variant using English based heuristics like properties -> property, names -> name, children -> child.
-
Field Details
-
EMPTY_CHAR_SEQUENCE
-
-
Constructor Details
-
Strings
public Strings()
-
-
Method Details
-
isAscii
public static boolean isAscii(char ch) -
isDecimalDigit
@Contract(pure=true) public static boolean isDecimalDigit(char c) -
isNotNegativeNumber
@Contract("null -> false") public static boolean isNotNegativeNumber(@Nullable @Nullable CharSequence s) -
compare
@Contract(pure=true) public static int compare(char c1, char c2, boolean ignoreCase) -
compare
@Contract(pure=true) public static int compare(@Nullable @Nullable CharSequence s1, @Nullable @Nullable CharSequence s2, boolean ignoreCase) -
charsMatch
@Contract(pure=true) public static boolean charsMatch(char c1, char c2, boolean ignoreCase) -
toLowerCase
-
toLowerCase
@Contract(pure=true) public static char toLowerCase(char a) -
toUpperCase
-
toUpperCase
@Contract(pure=true) public static char toUpperCase(char a) -
contains
@Contract(pure=true) public static boolean contains(@NotNull @NotNull CharSequence sequence, @NotNull @NotNull CharSequence infix) -
contains
@Contract(pure=true) public static boolean contains(@NotNull @NotNull CharSequence s, int start, int end, char c) Allows to answer if target symbol is contained at given char sequence at[start; end)interval.- Parameters:
s- target char sequence to checkstart- start offset to use within the given char sequence (inclusive)end- end offset to use within the given char sequence (exclusive)c- target symbol to check- Returns:
trueif given symbol is contained at the target range of the given char sequence;falseotherwise
-
containsChar
-
containsAnyChar
-
containsAnyChar
-
indexOf
-
indexOf
-
indexOf
@Contract(pure=true) public static int indexOf(@NotNull @NotNull CharSequence s, char c, int start, int end) -
indexOf
@Contract(pure=true) public static int indexOf(@NotNull @NotNull CharSequence sequence, @NotNull @NotNull CharSequence infix) -
indexOf
@Contract(pure=true) public static int indexOf(@NotNull @NotNull CharSequence sequence, @NotNull @NotNull CharSequence infix, int start) -
indexOf
@Contract(pure=true) public static int indexOf(@NotNull @NotNull CharSequence sequence, @NotNull @NotNull CharSequence infix, int start, int end) -
indexOf
@Contract(pure=true) public static int indexOf(@NotNull @NotNull CharSequence s, char c, int start, int end, boolean caseSensitive) -
indexOf
@Contract(pure=true) public static int indexOf(char @NotNull [] s, char c, int start, int end, boolean caseSensitive) -
indexOfAny
-
indexOfAny
@Contract(pure=true) public static int indexOfAny(@NotNull @NotNull CharSequence s, @NotNull @NotNull String chars) -
indexOfAny
-
indexOfAny
@Contract(pure=true) public static int indexOfAny(@NotNull @NotNull CharSequence s, @NotNull @NotNull String chars, int start, int end) -
indexOfIgnoreCase
-
indexOfIgnoreCase
@Contract(pure=true) public static int indexOfIgnoreCase(@NotNull @NotNull CharSequence where, @NotNull @NotNull CharSequence what, int fromIndex) Implementation copied fromString.indexOf(String, int)except character comparisons made case-insensitive -
indexOfIgnoreCase
@Contract(pure=true) public static int indexOfIgnoreCase(@NotNull @NotNull String where, char what, int fromIndex) -
charsEqualIgnoreCase
@Contract(pure=true) public static boolean charsEqualIgnoreCase(char a, char b) -
capitalize
Capitalize the first letter of the sentence. -
isCapitalized
@Contract(value="null -> false", pure=true) public static boolean isCapitalized(@Nullable @Nullable String s) -
startsWith
@Contract(pure=true) public static boolean startsWith(@NotNull @NotNull CharSequence text, int startIndex, @NotNull @NotNull CharSequence prefix) -
endsWith
@Contract(pure=true) public static boolean endsWith(@NotNull @NotNull CharSequence text, @NotNull @NotNull CharSequence suffix) -
endsWithChar
@Contract(pure=true) public static boolean endsWithChar(@Nullable @Nullable CharSequence s, char suffix) -
endsWithIgnoreCase
@Contract(pure=true) public static boolean endsWithIgnoreCase(@NotNull @NotNull CharSequence str, @NotNull @NotNull String suffix) -
isNotEmpty
@Contract(value="null -> false", pure=true) public static boolean isNotEmpty(@Nullable @Nullable String s) -
isEmpty
@Contract(value="null -> true", pure=true) public static boolean isEmpty(@Nullable @Nullable String s) -
isEmpty
@Contract(value="null -> true", pure=true) public static boolean isEmpty(@Nullable @Nullable CharSequence cs) -
pluralize
-
unpluralize
@Contract(pure=true) @Nullable public static @Nullable String unpluralize(@NotNull @NotNull String word) Returns unpluralized variant using English based heuristics like properties -> property, names -> name, children -> child. Returnsnullif failed to match appropriate heuristic.- Parameters:
word- english word in plural form- Returns:
- name in singular form or
nullif failed to find one.
-
notNullize
-
notNullize
-
nullize
-
nullize
-
nullize
-
isEmptyOrSpaces
@Contract(value="null -> true", pure=true) public static boolean isEmptyOrSpaces(@Nullable @Nullable CharSequence s) -
trim
-
trimEnd
-
trimEnd
-
trimEnd
-
trimStart
-
stringHashCode
-
stringHashCode
@Contract(pure=true) public static int stringHashCode(@NotNull @NotNull CharSequence chars, int from, int to) -
stringHashCode
@Contract(pure=true) public static int stringHashCode(@NotNull @NotNull CharSequence chars, int from, int to, int prefixHash) -
stringHashCode
@Contract(pure=true) public static int stringHashCode(char @NotNull [] chars, int from, int to) -
stringHashCodeInsensitive
@Contract(pure=true) public static int stringHashCodeInsensitive(char @NotNull [] chars, int from, int to) -
stringHashCodeInsensitive
@Contract(pure=true) public static int stringHashCodeInsensitive(@NotNull @NotNull CharSequence chars, int from, int to) -
stringHashCodeInsensitive
@Contract(pure=true) public static int stringHashCodeInsensitive(@NotNull @NotNull CharSequence chars, int from, int to, int prefixHash) -
stringHashCodeInsensitive
@Contract(pure=true) public static int stringHashCodeInsensitive(@NotNull @NotNull CharSequence chars) -
countChars
-
countChars
@Contract(pure=true) public static int countChars(@NotNull @NotNull CharSequence text, char c, int offset, boolean stopAtOtherChar) -
countChars
@Contract(pure=true) public static int countChars(@NotNull @NotNull CharSequence text, char c, int start, int end, boolean stopAtOtherChar) -
escapeToRegexp
@NotNull public static @NotNull StringBuilder escapeToRegexp(@NotNull @NotNull CharSequence text, @NotNull @NotNull StringBuilder builder) -
unescapeXmlEntities
@Contract(pure=true) @NotNull public static @NotNull String unescapeXmlEntities(@NotNull @NotNull String text) - Returns:
textwith some standard XML entities replaced with corresponding characters, e.g. '<' replaced with '<'
-
escapeXmlEntities
@Contract(pure=true) @NotNull public static @NotNull String escapeXmlEntities(@NotNull @NotNull String text) - Returns:
textwith some characters replaced with standard XML entities, e.g. '<' replaced with '<'
-
replace
-
join
-
join
@Contract(pure=true) @NotNull public static <T> @NotNull String join(@NotNull @NotNull Collection<? extends T> items, @NotNull @NotNull Function<? super T, String> f, @NotNull @NotNull String separator) -
join
-
join
@Contract(pure=true) @NotNull public static <T> @NotNull String join(@NotNull @NotNull Iterable<? extends T> items, @NotNull @NotNull Function<? super T, ? extends CharSequence> f, @NotNull @NotNull String separator) -
join
public static <T> void join(@NotNull @NotNull Iterable<? extends T> items, @NotNull @NotNull Function<? super T, ? extends CharSequence> f, @NotNull @NotNull String separator, @NotNull @NotNull StringBuilder result) -
join
@Contract(pure=true) @NotNull public static @NotNull String join(@NotNull @NotNull Collection<String> strings, @NotNull @NotNull String separator) -
join
public static void join(@NotNull @NotNull Collection<String> strings, @NotNull @NotNull String separator, @NotNull @NotNull StringBuilder result) -
join
-
join
-
isWhiteSpace
@Contract(pure=true) public static boolean isWhiteSpace(char c) -
stringHashCodeIgnoreWhitespaces
@Contract(pure=true) public static int stringHashCodeIgnoreWhitespaces(@NotNull @NotNull CharSequence chars) -
equalsIgnoreWhitespaces
@Contract(pure=true) public static boolean equalsIgnoreWhitespaces(@Nullable @Nullable CharSequence s1, @Nullable @Nullable CharSequence s2) -
equalsTrimWhitespaces
@Contract(pure=true) public static boolean equalsTrimWhitespaces(@NotNull @NotNull CharSequence s1, @NotNull @NotNull CharSequence s2) -
convertLineSeparators
-
convertLineSeparators
-
convertLineSeparators
-
convertLineSeparators
-
areSameInstance
Returnstrueifs1ands2refer to the same instance ofString. There are only few cases when you really need to use this method instead ofString.equals(java.lang.Object)orObjects.equals(java.lang.Object, java.lang.Object):- for small performance improvement if you're sure that there will be no different instances of the same string;
- to implement "Sentinel" pattern; in that case use
String(String)constructor to create the sentinel instance.
-