String

The String class represents character strings. All string literals in Kotlin programs, such as "abc", are implemented as instances of this class.

Since Kotlin

1.0

Since Kotlin

1.3

Constructors

Link copied to clipboard
constructor()
constructor()

Types

Link copied to clipboard
object Companion
Since Kotlin 1.0
object Companion
Since Kotlin 1.3

Properties

Link copied to clipboard
Since Kotlin 1.3
Link copied to clipboard

Returns the range of valid character indices for this char sequence.

Since Kotlin 1.0
Link copied to clipboard

Returns the index of the last character in the char sequence or -1 if it is empty.

Since Kotlin 1.0
Link copied to clipboard
open override val length: Int

Returns the length of this character sequence.

Since Kotlin 1.0
open override val length: Int

Returns the length of this character sequence.

Since Kotlin 1.3
Link copied to clipboard
Since Kotlin 1.3
Link copied to clipboard
Since Kotlin 1.3
Link copied to clipboard
Since Kotlin 1.3
Link copied to clipboard
Since Kotlin 1.3

Functions

Link copied to clipboard
inline fun CharSequence.all(predicate: (Char) -> Boolean): Boolean

Returns true if all characters match the given predicate.

Since Kotlin 1.0
Link copied to clipboard

Returns true if char sequence has at least one character.

Since Kotlin 1.0
inline fun CharSequence.any(predicate: (Char) -> Boolean): Boolean

Returns true if at least one character matches the given predicate.

Since Kotlin 1.0
Link copied to clipboard

Creates an Iterable instance that wraps the original char sequence returning its characters when being iterated.

Since Kotlin 1.0
Link copied to clipboard

Creates a Sequence instance that wraps the original char sequence returning its characters when being iterated.

Since Kotlin 1.0
Link copied to clipboard
inline fun <K, V> CharSequence.associate(transform: (Char) -> Pair<K, V>): Map<K, V>

Returns a Map containing key-value pairs provided by transform function applied to characters of the given char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <K> CharSequence.associateBy(keySelector: (Char) -> K): Map<K, Char>

Returns a Map containing the characters from the given char sequence indexed by the key returned from keySelector function applied to each character.

Since Kotlin 1.0
inline fun <K, V> CharSequence.associateBy(keySelector: (Char) -> K, valueTransform: (Char) -> V): Map<K, V>

Returns a Map containing the values provided by valueTransform and indexed by keySelector functions applied to characters of the given char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <K, M : MutableMap<in K, in Char>> CharSequence.associateByTo(destination: M, keySelector: (Char) -> K): M

Populates and returns the destination mutable map with key-value pairs, where key is provided by the keySelector function applied to each character of the given char sequence and value is the character itself.

Since Kotlin 1.0
inline fun <K, V, M : MutableMap<in K, in V>> CharSequence.associateByTo(destination: M, keySelector: (Char) -> K, valueTransform: (Char) -> V): M

Populates and returns the destination mutable map with key-value pairs, where key is provided by the keySelector function and and value is provided by the valueTransform function applied to characters of the given char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <K, V, M : MutableMap<in K, in V>> CharSequence.associateTo(destination: M, transform: (Char) -> Pair<K, V>): M

Populates and returns the destination mutable map with key-value pairs provided by transform function applied to each character of the given char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <V> CharSequence.associateWith(valueSelector: (Char) -> V): Map<Char, V>

Returns a Map where keys are characters from the given char sequence and values are produced by the valueSelector function applied to each character.

Since Kotlin 1.3
Link copied to clipboard
inline fun <V, M : MutableMap<in Char, in V>> CharSequence.associateWithTo(destination: M, valueSelector: (Char) -> V): M

Populates and returns the destination mutable map with key-value pairs for each character of the given char sequence, where key is the character itself and value is provided by the valueSelector function applied to that key.

Since Kotlin 1.3
Link copied to clipboard
inline fun String.byteInputStream(charset: Charset = Charsets.UTF_8): ByteArrayInputStream

Creates a new byte input stream for the string.

Since Kotlin 1.0
Link copied to clipboard
expect fun String.capitalize(): String

Returns a copy of this string having its first letter titlecased using the rules of the default locale, or the original string if it's empty or already starts with a title case letter.

Since Kotlin 1.0
actual fun String.capitalize(): String

Returns a copy of this string having its first letter titlecased using the rules of the default locale, or the original string if it's empty or already starts with a title case letter.

Since Kotlin 1.1
actual fun String.capitalize(): String

Returns a copy of this string having its first letter titlecased using the rules of the default locale, or the original string if it's empty or already starts with a title case letter.

Since Kotlin 1.0
actual fun String.capitalize(): String

Returns a copy of this string having its first letter titlecased using the rules of the default locale, or the original string if it's empty or already starts with a title case letter.

Since Kotlin 1.3
Link copied to clipboard

Splits this char sequence into a list of strings each not exceeding the given size.

Since Kotlin 1.2
fun <R> CharSequence.chunked(size: Int, transform: (CharSequence) -> R): List<R>

Splits this char sequence into several char sequences each not exceeding the given size and applies the given transform function to an each.

Since Kotlin 1.2
Link copied to clipboard

Splits this char sequence into a sequence of strings each not exceeding the given size.

Since Kotlin 1.2
fun <R> CharSequence.chunkedSequence(size: Int, transform: (CharSequence) -> R): Sequence<R>

Splits this char sequence into several char sequences each not exceeding the given size and applies the given transform function to an each.

Since Kotlin 1.2
Link copied to clipboard
inline fun String.codePointAt(index: Int): Int

Returns the character (Unicode code point) at the specified index.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.codePointBefore(index: Int): Int

Returns the character (Unicode code point) before the specified index.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.codePointCount(beginIndex: Int, endIndex: Int): Int

Returns the number of Unicode code points in the specified text range of this String.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.commonPrefixWith(other: CharSequence, ignoreCase: Boolean = false): String

Returns the longest string prefix such that this char sequence and other char sequence both start with this prefix, taking care not to split surrogate pairs. If this and other have no common prefix, returns the empty string.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.commonSuffixWith(other: CharSequence, ignoreCase: Boolean = false): String

Returns the longest string suffix such that this char sequence and other char sequence both end with this suffix, taking care not to split surrogate pairs. If this and other have no common suffix, returns the empty string.

Since Kotlin 1.0
Link copied to clipboard
open operator override fun compareTo(other: String): Int

Compares this object with the specified object for order. Returns zero if this object is equal to the specified other object, a negative number if it's less than other, or a positive number if it's greater than other.

Since Kotlin 1.0
open operator external override fun compareTo(other: String): Int

Compares this object with the specified object for order. Returns zero if this object is equal to the specified other object, a negative number if it's less than other, or a positive number if it's greater than other.

Since Kotlin 1.3
Link copied to clipboard
expect fun String.compareTo(other: String, ignoreCase: Boolean = false): Int

Compares two strings lexicographically, optionally ignoring case differences.

Since Kotlin 1.2
actual fun String.compareTo(other: String, ignoreCase: Boolean = false): Int

Compares two strings lexicographically, optionally ignoring case differences.

Since Kotlin 1.2
actual fun String.compareTo(other: String, ignoreCase: Boolean = false): Int

Compares two strings lexicographically, optionally ignoring case differences.

Since Kotlin 1.0
actual fun String.compareTo(other: String, ignoreCase: Boolean = false): Int

Compares two strings lexicographically, optionally ignoring case differences.

Since Kotlin 1.3
Link copied to clipboard
inline fun String.concat(str: String): String
Since Kotlin 1.1
Link copied to clipboard
inline operator fun CharSequence.contains(regex: Regex): Boolean

Returns true if this char sequence contains at least one match of the specified regular expression regex.

Since Kotlin 1.0
operator fun CharSequence.contains(char: Char, ignoreCase: Boolean = false): Boolean

Returns true if this char sequence contains the specified character char.

Since Kotlin 1.0
operator fun CharSequence.contains(other: CharSequence, ignoreCase: Boolean = false): Boolean

Returns true if this char sequence contains the specified other sequence of characters as a substring.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.contentEquals(stringBuilder: StringBuffer): Boolean

Returns true if this string is equal to the contents of the specified StringBuffer, false otherwise.

Since Kotlin 1.0
inline fun String.contentEquals(charSequence: CharSequence): Boolean

Returns true if this string is equal to the contents of the specified CharSequence, false otherwise.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.count(): Int

Returns the length of this char sequence.

Since Kotlin 1.0
inline fun CharSequence.count(predicate: (Char) -> Boolean): Int

Returns the number of characters matching the given predicate.

Since Kotlin 1.0
Link copied to clipboard
expect fun String.decapitalize(): String

Returns a copy of this string having its first letter lowercased using the rules of the default locale, or the original string if it's empty or already starts with a lower case letter.

Since Kotlin 1.0
actual fun String.decapitalize(): String

Returns a copy of this string having its first letter lowercased using the rules of the default locale, or the original string if it's empty or already starts with a lower case letter.

Since Kotlin 1.1
actual fun String.decapitalize(): String

Returns a copy of this string having its first letter lowercased using the rules of the default locale, or the original string if it's empty or already starts with a lower case letter.

Since Kotlin 1.0
actual fun String.decapitalize(): String

Returns a copy of this string having its first letter lowercased using the rules of the default locale, or the original string if it's empty or already starts with a lower case letter.

Since Kotlin 1.3
Link copied to clipboard

Returns a subsequence of this char sequence with the first n characters removed.

Since Kotlin 1.0

Returns a string with the first n characters removed.

Since Kotlin 1.0
Link copied to clipboard

Returns a subsequence of this char sequence with the last n characters removed.

Since Kotlin 1.0

Returns a string with the last n characters removed.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.dropLastWhile(predicate: (Char) -> Boolean): CharSequence

Returns a subsequence of this char sequence containing all characters except last characters that satisfy the given predicate.

Since Kotlin 1.0
inline fun String.dropLastWhile(predicate: (Char) -> Boolean): String

Returns a string containing all characters except last characters that satisfy the given predicate.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.dropWhile(predicate: (Char) -> Boolean): CharSequence

Returns a subsequence of this char sequence containing all characters except first characters that satisfy the given predicate.

Since Kotlin 1.0
inline fun String.dropWhile(predicate: (Char) -> Boolean): String

Returns a string containing all characters except first characters that satisfy the given predicate.

Since Kotlin 1.0
Link copied to clipboard
expect fun CharSequence.elementAt(index: Int): Char

Returns a character at the given index or throws an IndexOutOfBoundsException if the index is out of bounds of this char sequence.

Since Kotlin 1.0
actual fun CharSequence.elementAt(index: Int): Char

Returns a character at the given index or throws an IndexOutOfBoundsException if the index is out of bounds of this char sequence.

Since Kotlin 1.1
actual inline fun CharSequence.elementAt(index: Int): Char

Returns a character at the given index or throws an IndexOutOfBoundsException if the index is out of bounds of this char sequence.

Since Kotlin 1.0
actual inline fun CharSequence.elementAt(index: Int): Char

Returns a character at the given index or throws an IndexOutOfBoundsException if the index is out of bounds of this char sequence.

Since Kotlin 1.3
Link copied to clipboard
inline fun CharSequence.elementAtOrElse(index: Int, defaultValue: (Int) -> Char): Char

Returns a character at the given index or the result of calling the defaultValue function if the index is out of bounds of this char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.elementAtOrNull(index: Int): Char?

Returns a character at the given index or null if the index is out of bounds of this char sequence.

Since Kotlin 1.0
Link copied to clipboard

Encodes this string to an array of bytes in UTF-8 encoding.

Since Kotlin 1.3
actual fun String.encodeToByteArray(startIndex: Int = 0, endIndex: Int = this.length, throwOnInvalidSequence: Boolean = false): ByteArray

Encodes this string or its substring to an array of bytes in UTF-8 encoding.

Since Kotlin 1.3
Link copied to clipboard
fun CharSequence.endsWith(char: Char, ignoreCase: Boolean = false): Boolean

Returns true if this char sequence ends with the specified character.

Since Kotlin 1.0
fun CharSequence.endsWith(suffix: CharSequence, ignoreCase: Boolean = false): Boolean

Returns true if this char sequence ends with the specified suffix.

Since Kotlin 1.0
expect fun String.endsWith(suffix: String, ignoreCase: Boolean = false): Boolean
Since Kotlin 1.0
actual fun String.endsWith(suffix: String, ignoreCase: Boolean = false): Boolean

Returns true if this string ends with the specified suffix.

Since Kotlin 1.1
actual fun String.endsWith(suffix: String, ignoreCase: Boolean = false): Boolean

Returns true if this string ends with the specified suffix.

Since Kotlin 1.0
actual fun String.endsWith(suffix: String, ignoreCase: Boolean = false): Boolean

Returns true if this string ends with the specified suffix.

Since Kotlin 1.3
Link copied to clipboard
open operator external override fun equals(other: Any?): Boolean
Since Kotlin 1.3
Link copied to clipboard
expect fun String?.equals(other: String?, ignoreCase: Boolean = false): Boolean

Returns true if this string is equal to other, optionally ignoring character case.

Since Kotlin 1.0
actual fun String?.equals(other: String?, ignoreCase: Boolean = false): Boolean

Returns true if this string is equal to other, optionally ignoring character case.

Since Kotlin 1.1
actual fun String?.equals(other: String?, ignoreCase: Boolean = false): Boolean

Returns true if this string is equal to other, optionally ignoring character case.

Since Kotlin 1.0
actual fun String?.equals(other: String?, ignoreCase: Boolean = false): Boolean

Returns true if this string is equal to other, optionally ignoring character case.

Since Kotlin 1.3
Link copied to clipboard
inline fun CharSequence.filter(predicate: (Char) -> Boolean): CharSequence

Returns a char sequence containing only those characters from the original char sequence that match the given predicate.

Since Kotlin 1.0
inline fun String.filter(predicate: (Char) -> Boolean): String

Returns a string containing only those characters from the original string that match the given predicate.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.filterIndexed(predicate: (index: Int, Char) -> Boolean): CharSequence

Returns a char sequence containing only those characters from the original char sequence that match the given predicate.

Since Kotlin 1.0
inline fun String.filterIndexed(predicate: (index: Int, Char) -> Boolean): String

Returns a string containing only those characters from the original string that match the given predicate.

Since Kotlin 1.0
Link copied to clipboard
inline fun <C : Appendable> CharSequence.filterIndexedTo(destination: C, predicate: (index: Int, Char) -> Boolean): C

Appends all characters matching the given predicate to the given destination.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.filterNot(predicate: (Char) -> Boolean): CharSequence

Returns a char sequence containing only those characters from the original char sequence that do not match the given predicate.

Since Kotlin 1.0
inline fun String.filterNot(predicate: (Char) -> Boolean): String

Returns a string containing only those characters from the original string that do not match the given predicate.

Since Kotlin 1.0
Link copied to clipboard
inline fun <C : Appendable> CharSequence.filterNotTo(destination: C, predicate: (Char) -> Boolean): C

Appends all characters not matching the given predicate to the given destination.

Since Kotlin 1.0
Link copied to clipboard
inline fun <C : Appendable> CharSequence.filterTo(destination: C, predicate: (Char) -> Boolean): C

Appends all characters matching the given predicate to the given destination.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.find(predicate: (Char) -> Boolean): Char?

Returns the first character matching the given predicate, or null if no such character was found.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.findAnyOf(strings: Collection<String>, startIndex: Int = 0, ignoreCase: Boolean = false): Pair<Int, String>?

Finds the first occurrence of any of the specified strings in this char sequence, starting from the specified startIndex and optionally ignoring the case.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.findLast(predicate: (Char) -> Boolean): Char?

Returns the last character matching the given predicate, or null if no such character was found.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.findLastAnyOf(strings: Collection<String>, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Pair<Int, String>?

Finds the last occurrence of any of the specified strings in this char sequence, starting from the specified startIndex and optionally ignoring the case.

Since Kotlin 1.0
Link copied to clipboard

Returns first character.

Since Kotlin 1.0
inline fun CharSequence.first(predicate: (Char) -> Boolean): Char

Returns the first character matching the given predicate.

Since Kotlin 1.0
Link copied to clipboard

Returns the first character, or null if the char sequence is empty.

Since Kotlin 1.0
inline fun CharSequence.firstOrNull(predicate: (Char) -> Boolean): Char?

Returns the first character matching the given predicate, or null if character was not found.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R> CharSequence.flatMap(transform: (Char) -> Iterable<R>): List<R>

Returns a single list of all elements yielded from results of transform function being invoked on each character of original char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R, C : MutableCollection<in R>> CharSequence.flatMapTo(destination: C, transform: (Char) -> Iterable<R>): C

Appends all elements yielded from results of transform function being invoked on each character of original char sequence, to the given destination.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R> CharSequence.fold(initial: R, operation: (acc: R, Char) -> R): R

Accumulates value starting with initial value and applying operation from left to right to current accumulator value and each character.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R> CharSequence.foldIndexed(initial: R, operation: (index: Int, acc: R, Char) -> R): R

Accumulates value starting with initial value and applying operation from left to right to current accumulator value and each character with its index in the original char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R> CharSequence.foldRight(initial: R, operation: (Char, acc: R) -> R): R

Accumulates value starting with initial value and applying operation from right to left to each character and current accumulator value.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R> CharSequence.foldRightIndexed(initial: R, operation: (index: Int, Char, acc: R) -> R): R

Accumulates value starting with initial value and applying operation from right to left to each character with its index in the original char sequence and current accumulator value.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.forEach(action: (Char) -> Unit)

Performs the given action on each character.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.forEachIndexed(action: (index: Int, Char) -> Unit)

Performs the given action on each character, providing sequential index with the character.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.format(vararg args: Any?): String

Uses this string as a format string and returns a string obtained by substituting the specified arguments, using the default locale.

Since Kotlin 1.0
inline fun String.format(locale: Locale, vararg args: Any?): String

Uses this string as a format string and returns a string obtained by substituting the specified arguments, using the specified locale.

Since Kotlin 1.0
Link copied to clipboard
open operator override fun get(index: Int): Char

Returns the character of this string at the specified index.

Since Kotlin 1.0
open operator external override fun get(index: Int): Char

Returns the character of this string at the specified index.

Since Kotlin 1.3
Link copied to clipboard
inline fun CharSequence.getOrElse(index: Int, defaultValue: (Int) -> Char): Char

Returns a character at the given index or the result of calling the defaultValue function if the index is out of bounds of this char sequence.

Since Kotlin 1.0
Link copied to clipboard

Returns a character at the given index or null if the index is out of bounds of this char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <K> CharSequence.groupBy(keySelector: (Char) -> K): Map<K, List<Char>>

Groups characters of the original char sequence by the key returned by the given keySelector function applied to each character and returns a map where each group key is associated with a list of corresponding characters.

Since Kotlin 1.0
inline fun <K, V> CharSequence.groupBy(keySelector: (Char) -> K, valueTransform: (Char) -> V): Map<K, List<V>>

Groups values returned by the valueTransform function applied to each character of the original char sequence by the key returned by the given keySelector function applied to the character and returns a map where each group key is associated with a list of corresponding values.

Since Kotlin 1.0
Link copied to clipboard
inline fun <K, M : MutableMap<in K, MutableList<Char>>> CharSequence.groupByTo(destination: M, keySelector: (Char) -> K): M

Groups characters of the original char sequence by the key returned by the given keySelector function applied to each character and puts to the destination map each group key associated with a list of corresponding characters.

Since Kotlin 1.0
inline fun <K, V, M : MutableMap<in K, MutableList<V>>> CharSequence.groupByTo(destination: M, keySelector: (Char) -> K, valueTransform: (Char) -> V): M

Groups values returned by the valueTransform function applied to each character of the original char sequence by the key returned by the given keySelector function applied to the character and puts to the destination map each group key associated with a list of corresponding values.

Since Kotlin 1.0
Link copied to clipboard
inline fun <K> CharSequence.groupingBy(crossinline keySelector: (Char) -> K): Grouping<Char, K>

Creates a Grouping source from a char sequence to be used later with one of group-and-fold operations using the specified keySelector function to extract a key from each character.

Since Kotlin 1.1
Link copied to clipboard
open external override fun hashCode(): Int
Since Kotlin 1.3
Link copied to clipboard

Returns true if this CharSequence has Unicode surrogate pair at the specified index.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.indexOf(char: Char, startIndex: Int = 0, ignoreCase: Boolean = false): Int

Returns the index within this string of the first occurrence of the specified character, starting from the specified startIndex.

Since Kotlin 1.0
fun CharSequence.indexOf(string: String, startIndex: Int = 0, ignoreCase: Boolean = false): Int

Returns the index within this char sequence of the first occurrence of the specified string, starting from the specified startIndex.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.indexOfAny(chars: CharArray, startIndex: Int = 0, ignoreCase: Boolean = false): Int

Finds the index of the first occurrence of any of the specified chars in this char sequence, starting from the specified startIndex and optionally ignoring the case.

Since Kotlin 1.0
fun CharSequence.indexOfAny(strings: Collection<String>, startIndex: Int = 0, ignoreCase: Boolean = false): Int

Finds the index of the first occurrence of any of the specified strings in this char sequence, starting from the specified startIndex and optionally ignoring the case.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.indexOfFirst(predicate: (Char) -> Boolean): Int

Returns index of the first character matching the given predicate, or -1 if the char sequence does not contain such character.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.indexOfLast(predicate: (Char) -> Boolean): Int

Returns index of the last character matching the given predicate, or -1 if the char sequence does not contain such character.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.intern(): String

Returns a canonical representation for this string object.

Since Kotlin 1.0
Link copied to clipboard
Since Kotlin 1.0

Returns true if this string is empty or consists solely of whitespace characters.

Since Kotlin 1.1

Returns true if this string is empty or consists solely of whitespace characters.

Since Kotlin 1.0

Returns true if this string is empty or consists solely of whitespace characters.

Since Kotlin 1.3
Link copied to clipboard

Returns true if this char sequence is empty (contains no characters).

Since Kotlin 1.0
Link copied to clipboard

Returns true if this char sequence is not empty and contains some characters except of whitespace characters.

Since Kotlin 1.0
Link copied to clipboard

Returns true if this char sequence is not empty.

Since Kotlin 1.0
Link copied to clipboard

Returns true if this nullable char sequence is either null or empty or consists solely of whitespace characters.

Since Kotlin 1.0
Link copied to clipboard

Returns true if this nullable char sequence is either null or empty.

Since Kotlin 1.0
Link copied to clipboard

Iterator for characters of the given char sequence.

Since Kotlin 1.0
Link copied to clipboard

Returns the last character.

Since Kotlin 1.0
inline fun CharSequence.last(predicate: (Char) -> Boolean): Char

Returns the last character matching the given predicate.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.lastIndexOf(char: Char, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Int

Returns the index within this char sequence of the last occurrence of the specified character, starting from the specified startIndex.

Since Kotlin 1.0
fun CharSequence.lastIndexOf(string: String, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Int

Returns the index within this char sequence of the last occurrence of the specified string, starting from the specified startIndex.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.lastIndexOfAny(chars: CharArray, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Int

Finds the index of the last occurrence of any of the specified chars in this char sequence, starting from the specified startIndex and optionally ignoring the case.

Since Kotlin 1.0
fun CharSequence.lastIndexOfAny(strings: Collection<String>, startIndex: Int = lastIndex, ignoreCase: Boolean = false): Int

Finds the index of the last occurrence of any of the specified strings in this char sequence, starting from the specified startIndex and optionally ignoring the case.

Since Kotlin 1.0
Link copied to clipboard

Returns the last character, or null if the char sequence is empty.

Since Kotlin 1.0
inline fun CharSequence.lastOrNull(predicate: (Char) -> Boolean): Char?

Returns the last character matching the given predicate, or null if no such character was found.

Since Kotlin 1.0
Link copied to clipboard

Splits this char sequence to a list of lines delimited by any of the following character sequences: CRLF, LF or CR.

Since Kotlin 1.0
Link copied to clipboard

Splits this char sequence to a sequence of lines delimited by any of the following character sequences: CRLF, LF or CR.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R> CharSequence.map(transform: (Char) -> R): List<R>

Returns a list containing the results of applying the given transform function to each character in the original char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R> CharSequence.mapIndexed(transform: (index: Int, Char) -> R): List<R>

Returns a list containing the results of applying the given transform function to each character and its index in the original char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R : Any> CharSequence.mapIndexedNotNull(transform: (index: Int, Char) -> R?): List<R>

Returns a list containing only the non-null results of applying the given transform function to each character and its index in the original char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R : Any, C : MutableCollection<in R>> CharSequence.mapIndexedNotNullTo(destination: C, transform: (index: Int, Char) -> R?): C

Applies the given transform function to each character and its index in the original char sequence and appends only the non-null results to the given destination.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R, C : MutableCollection<in R>> CharSequence.mapIndexedTo(destination: C, transform: (index: Int, Char) -> R): C

Applies the given transform function to each character and its index in the original char sequence and appends the results to the given destination.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R : Any> CharSequence.mapNotNull(transform: (Char) -> R?): List<R>

Returns a list containing only the non-null results of applying the given transform function to each character in the original char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R : Any, C : MutableCollection<in R>> CharSequence.mapNotNullTo(destination: C, transform: (Char) -> R?): C

Applies the given transform function to each character in the original char sequence and appends only the non-null results to the given destination.

Since Kotlin 1.0
Link copied to clipboard
inline fun <R, C : MutableCollection<in R>> CharSequence.mapTo(destination: C, transform: (Char) -> R): C

Applies the given transform function to each character of the original char sequence and appends the results to the given destination.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.match(regex: String): Array<String>?
Since Kotlin 1.1
Link copied to clipboard
infix inline fun CharSequence.matches(regex: Regex): Boolean

Returns true if this char sequence matches the given regular expression.

Since Kotlin 1.0
Since Kotlin 1.1
Link copied to clipboard
Since Kotlin 1.0
Link copied to clipboard
inline fun <R : Comparable<R>> CharSequence.maxBy(selector: (Char) -> R): Char?
Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.maxWith(comparator: Comparator<in Char>): Char?
Since Kotlin 1.0
Link copied to clipboard
Since Kotlin 1.0
Link copied to clipboard
inline fun <R : Comparable<R>> CharSequence.minBy(selector: (Char) -> R): Char?
Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.minWith(comparator: Comparator<in Char>): Char?
Since Kotlin 1.0
Link copied to clipboard

Returns true if the char sequence has no characters.

Since Kotlin 1.0
inline fun CharSequence.none(predicate: (Char) -> Boolean): Boolean

Returns true if no characters match the given predicate.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.offsetByCodePoints(index: Int, codePointOffset: Int): Int

Returns the index within this string that is offset from the given index by codePointOffset code points.

Since Kotlin 1.0
Link copied to clipboard
inline fun String?.orEmpty(): String

Returns the string if it is not null, or the empty string otherwise.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.padEnd(length: Int, padChar: Char = ' '): CharSequence

Returns a char sequence with content of this char sequence padded at the end to the specified length with the specified character or space.

Since Kotlin 1.0
fun String.padEnd(length: Int, padChar: Char = ' '): String

Pads the string to the specified length at the end with the specified character or space.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.padStart(length: Int, padChar: Char = ' '): CharSequence

Returns a char sequence with content of this char sequence padded at the beginning to the specified length with the specified character or space.

Since Kotlin 1.0
fun String.padStart(length: Int, padChar: Char = ' '): String

Pads the string to the specified length at the beginning with the specified character or space.

Since Kotlin 1.0
Link copied to clipboard

Splits the original char sequence into pair of char sequences, where first char sequence contains characters for which predicate yielded true, while second char sequence contains characters for which predicate yielded false.

Since Kotlin 1.0
inline fun String.partition(predicate: (Char) -> Boolean): Pair<String, String>

Splits the original string into pair of strings, where first string contains characters for which predicate yielded true, while second string contains characters for which predicate yielded false.

Since Kotlin 1.0
Link copied to clipboard
operator fun plus(other: Any?): String

Returns a string obtained by concatenating this string with the string representation of the given other object.

Since Kotlin 1.0
operator fun plus(other: Any?): String
Since Kotlin 1.3
Link copied to clipboard
operator fun String?.plus(other: Any?): String

Concatenates this string with the string representation of the given other object. If either the receiver or the other object are null, they are represented as the string "null".

Since Kotlin 1.0
inline operator fun String?.plus(other: Any?): String
Since Kotlin 1.3
Link copied to clipboard
fun String.prependIndent(indent: String = " "): String

Prepends indent to every line of the original string.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.random(): Char

Returns a random character from this char sequence.

Since Kotlin 1.3

Returns a random character from this char sequence using the specified source of randomness.

Since Kotlin 1.3
Link copied to clipboard
inline fun String.reader(): StringReader

Creates a new reader for the string.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.reduce(operation: (acc: Char, Char) -> Char): Char

Accumulates value starting with the first character and applying operation from left to right to current accumulator value and each character.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.reduceIndexed(operation: (index: Int, acc: Char, Char) -> Char): Char

Accumulates value starting with the first character and applying operation from left to right to current accumulator value and each character with its index in the original char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.reduceRight(operation: (Char, acc: Char) -> Char): Char

Accumulates value starting with the last character and applying operation from right to left to each character and current accumulator value.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.reduceRightIndexed(operation: (index: Int, Char, acc: Char) -> Char): Char

Accumulates value starting with the last character and applying operation from right to left to each character with its index in the original char sequence and current accumulator value.

Since Kotlin 1.0
Link copied to clipboard
Since Kotlin 1.3
Link copied to clipboard
expect fun CharSequence.regionMatches(thisOffset: Int, other: CharSequence, otherOffset: Int, length: Int, ignoreCase: Boolean = false): Boolean

Returns true if the specified range in this char sequence is equal to the specified range in another char sequence.

Since Kotlin 1.0
actual fun CharSequence.regionMatches(thisOffset: Int, other: CharSequence, otherOffset: Int, length: Int, ignoreCase: Boolean = false): Boolean
Since Kotlin 1.1
actual fun CharSequence.regionMatches(thisOffset: Int, other: CharSequence, otherOffset: Int, length: Int, ignoreCase: Boolean = false): Boolean

Returns true if the specified range in this char sequence is equal to the specified range in another char sequence.

Since Kotlin 1.0
fun String.regionMatches(thisOffset: Int, other: String, otherOffset: Int, length: Int, ignoreCase: Boolean = false): Boolean

Returns true if the specified range in this string is equal to the specified range in another string.

Since Kotlin 1.0
actual fun CharSequence.regionMatches(thisOffset: Int, other: CharSequence, otherOffset: Int, length: Int, ignoreCase: Boolean = false): Boolean

Returns true if the specified range in this char sequence is equal to the specified range in another char sequence.

Since Kotlin 1.3
fun String.regionMatches(thisOffset: Int, other: String, otherOffset: Int, length: Int, ignoreCase: Boolean = false): Boolean

Returns true if the specified range in this string is equal to the specified range in another string.

Since Kotlin 1.3
Link copied to clipboard

If this char sequence starts with the given prefix, returns a new char sequence with the prefix removed. Otherwise, returns a new char sequence with the same characters.

Since Kotlin 1.0

If this string starts with the given prefix, returns a copy of this string with the prefix removed. Otherwise, returns this string.

Since Kotlin 1.0
Link copied to clipboard

Returns a char sequence with content of this char sequence where its part at the given range is removed.

Since Kotlin 1.0
inline fun String.removeRange(range: IntRange): String

Removes the part of a string at the given range.

Since Kotlin 1.0
fun CharSequence.removeRange(startIndex: Int, endIndex: Int): CharSequence

Returns a char sequence with content of this char sequence where its part at the given range is removed.

Since Kotlin 1.0
inline fun String.removeRange(startIndex: Int, endIndex: Int): String

Removes the part of a string at a given range.

Since Kotlin 1.0
Link copied to clipboard

If this char sequence ends with the given suffix, returns a new char sequence with the suffix removed. Otherwise, returns a new char sequence with the same characters.

Since Kotlin 1.0

If this string ends with the given suffix, returns a copy of this string with the suffix removed. Otherwise, returns this string.

Since Kotlin 1.0
Link copied to clipboard

When this char sequence starts with and ends with the given delimiter, returns a new char sequence having this delimiter removed both from the start and end. Otherwise returns a new char sequence with the same characters.

Since Kotlin 1.0

Removes the given delimiter string from both the start and the end of this string if and only if it starts with and ends with the delimiter. Otherwise returns this string unchanged.

Since Kotlin 1.0

When this char sequence starts with the given prefix and ends with the given suffix, returns a new char sequence having both the given prefix and suffix removed. Otherwise returns a new char sequence with the same characters.

Since Kotlin 1.0

Removes from a string both the given prefix and suffix if and only if it starts with the prefix and ends with the suffix. Otherwise returns this string unchanged.

Since Kotlin 1.0
Link copied to clipboard
expect fun CharSequence.repeat(n: Int): String

Returns a string containing this char sequence repeated n times.

Since Kotlin 1.0
actual fun CharSequence.repeat(n: Int): String

Returns a string containing this char sequence repeated n times.

Since Kotlin 1.1
actual fun CharSequence.repeat(n: Int): String

Returns a string containing this char sequence repeated n times.

Since Kotlin 1.0
actual fun CharSequence.repeat(n: Int): String

Returns a string containing this char sequence repeated n times.

Since Kotlin 1.3
Link copied to clipboard
inline fun CharSequence.replace(regex: Regex, noinline transform: (MatchResult) -> CharSequence): String

Returns a new string obtained by replacing each substring of this char sequence that matches the given regular expression with the result of the given function transform that takes MatchResult and returns a string to be used as a replacement for that match.

Since Kotlin 1.0
inline fun CharSequence.replace(regex: Regex, replacement: String): String

Returns a new string obtained by replacing each substring of this char sequence that matches the given regular expression with the given replacement.

Since Kotlin 1.0
expect fun String.replace(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String

Returns a new string with all occurrences of oldChar replaced with newChar.

Since Kotlin 1.0
expect fun String.replace(oldValue: String, newValue: String, ignoreCase: Boolean = false): String

Returns a new string obtained by replacing all occurrences of the oldValue substring in this string with the specified newValue string.

Since Kotlin 1.0
actual fun String.replace(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String

Returns a new string with all occurrences of oldChar replaced with newChar.

Since Kotlin 1.1
actual fun String.replace(oldValue: String, newValue: String, ignoreCase: Boolean = false): String

Returns a new string obtained by replacing all occurrences of the oldValue substring in this string with the specified newValue string.

Since Kotlin 1.1
actual fun String.replace(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String

Returns a new string with all occurrences of oldChar replaced with newChar.

Since Kotlin 1.0
actual fun String.replace(oldValue: String, newValue: String, ignoreCase: Boolean = false): String

Returns a new string obtained by replacing all occurrences of the oldValue substring in this string with the specified newValue string.

Since Kotlin 1.0
actual fun String.replace(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String

Returns a new string with all occurrences of oldChar replaced with newChar.

Since Kotlin 1.3
actual fun String.replace(oldValue: String, newValue: String, ignoreCase: Boolean = false): String

Returns a new string obtained by replacing all occurrences of the oldValue substring in this string with the specified newValue string.

Since Kotlin 1.3
Link copied to clipboard
fun String.replaceAfter(delimiter: Char, replacement: String, missingDelimiterValue: String = this): String
fun String.replaceAfter(delimiter: String, replacement: String, missingDelimiterValue: String = this): String

Replace part of string after the first occurrence of given delimiter with the replacement string. If the string does not contain the delimiter, returns missingDelimiterValue which defaults to the original string.

Since Kotlin 1.0
Link copied to clipboard
fun String.replaceAfterLast(delimiter: Char, replacement: String, missingDelimiterValue: String = this): String
fun String.replaceAfterLast(delimiter: String, replacement: String, missingDelimiterValue: String = this): String

Replace part of string after the last occurrence of given delimiter with the replacement string. If the string does not contain the delimiter, returns missingDelimiterValue which defaults to the original string.

Since Kotlin 1.0
Link copied to clipboard
fun String.replaceBefore(delimiter: Char, replacement: String, missingDelimiterValue: String = this): String
fun String.replaceBefore(delimiter: String, replacement: String, missingDelimiterValue: String = this): String

Replace part of string before the first occurrence of given delimiter with the replacement string. If the string does not contain the delimiter, returns missingDelimiterValue which defaults to the original string.

Since Kotlin 1.0
Link copied to clipboard
fun String.replaceBeforeLast(delimiter: Char, replacement: String, missingDelimiterValue: String = this): String
fun String.replaceBeforeLast(delimiter: String, replacement: String, missingDelimiterValue: String = this): String

Replace part of string before the last occurrence of given delimiter with the replacement string. If the string does not contain the delimiter, returns missingDelimiterValue which defaults to the original string.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.replaceFirst(regex: Regex, replacement: String): String

Replaces the first occurrence of the given regular expression regex in this char sequence with specified replacement expression.

Since Kotlin 1.0
expect fun String.replaceFirst(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String

Returns a new string with the first occurrence of oldChar replaced with newChar.

Since Kotlin 1.0
expect fun String.replaceFirst(oldValue: String, newValue: String, ignoreCase: Boolean = false): String

Returns a new string obtained by replacing the first occurrence of the oldValue substring in this string with the specified newValue string.

Since Kotlin 1.0
actual fun String.replaceFirst(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String
actual fun String.replaceFirst(oldValue: String, newValue: String, ignoreCase: Boolean = false): String
Since Kotlin 1.1
actual fun String.replaceFirst(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String

Returns a new string with the first occurrence of oldChar replaced with newChar.

Since Kotlin 1.0
actual fun String.replaceFirst(oldValue: String, newValue: String, ignoreCase: Boolean = false): String

Returns a new string obtained by replacing the first occurrence of the oldValue substring in this string with the specified newValue string.

Since Kotlin 1.0
actual fun String.replaceFirst(oldChar: Char, newChar: Char, ignoreCase: Boolean = false): String

Returns a new string with the first occurrence of oldChar replaced with newChar.

Since Kotlin 1.3
actual fun String.replaceFirst(oldValue: String, newValue: String, ignoreCase: Boolean = false): String

Returns a new string obtained by replacing the first occurrence of the oldValue substring in this string with the specified newValue string.

Since Kotlin 1.3
Link copied to clipboard
fun String.replaceIndent(newIndent: String = ""): String

Detects a common minimal indent like it does trimIndent and replaces it with the specified newIndent.

Since Kotlin 1.0
Link copied to clipboard
fun String.replaceIndentByMargin(newIndent: String = "", marginPrefix: String = "|"): String

Detects indent by marginPrefix as it does trimMargin and replace it with newIndent.

Since Kotlin 1.0
Link copied to clipboard

Returns a char sequence with content of this char sequence where its part at the given range is replaced with the replacement char sequence.

Since Kotlin 1.0
inline fun String.replaceRange(range: IntRange, replacement: CharSequence): String

Replace the part of string at the given range with the replacement string.

Since Kotlin 1.0
fun CharSequence.replaceRange(startIndex: Int, endIndex: Int, replacement: CharSequence): CharSequence

Returns a char sequence with content of this char sequence where its part at the given range is replaced with the replacement char sequence.

Since Kotlin 1.0
inline fun String.replaceRange(startIndex: Int, endIndex: Int, replacement: CharSequence): String

Replaces the part of the string at the given range with the replacement char sequence.

Since Kotlin 1.0
Link copied to clipboard

Returns a char sequence with characters in reversed order.

Since Kotlin 1.0
inline fun String.reversed(): String

Returns a string with characters in reversed order.

Since Kotlin 1.0
Link copied to clipboard

Returns the single character, or throws an exception if the char sequence is empty or has more than one character.

Since Kotlin 1.0
inline fun CharSequence.single(predicate: (Char) -> Boolean): Char

Returns the single character matching the given predicate, or throws exception if there is no or more than one matching character.

Since Kotlin 1.0
Link copied to clipboard

Returns single character, or null if the char sequence is empty or has more than one character.

Since Kotlin 1.0
inline fun CharSequence.singleOrNull(predicate: (Char) -> Boolean): Char?

Returns the single character matching the given predicate, or null if character was not found or more than one character was found.

Since Kotlin 1.0
Link copied to clipboard

Returns a char sequence containing characters of the original char sequence at specified indices.

Since Kotlin 1.0

Returns a char sequence containing characters of the original char sequence at the specified range of indices.

Since Kotlin 1.0
inline fun String.slice(indices: Iterable<Int>): String

Returns a string containing characters of the original string at specified indices.

Since Kotlin 1.0
fun String.slice(indices: IntRange): String

Returns a string containing characters of the original string at the specified range of indices.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.split(regex: Regex, limit: Int = 0): List<String>

Splits this char sequence to a list of strings around matches of the given regular expression.

Since Kotlin 1.0
fun CharSequence.split(vararg delimiters: String, ignoreCase: Boolean = false, limit: Int = 0): List<String>
fun CharSequence.split(vararg delimiters: Char, ignoreCase: Boolean = false, limit: Int = 0): List<String>

Splits this char sequence to a list of strings around occurrences of the specified delimiters.

Since Kotlin 1.0
fun CharSequence.split(regex: Pattern, limit: Int = 0): List<String>

Splits this char sequence around matches of the given regular expression.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.splitToSequence(vararg delimiters: String, ignoreCase: Boolean = false, limit: Int = 0): Sequence<String>
fun CharSequence.splitToSequence(vararg delimiters: Char, ignoreCase: Boolean = false, limit: Int = 0): Sequence<String>

Splits this char sequence to a sequence of strings around occurrences of the specified delimiters.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.startsWith(char: Char, ignoreCase: Boolean = false): Boolean

Returns true if this char sequence starts with the specified character.

Since Kotlin 1.0
fun CharSequence.startsWith(prefix: CharSequence, ignoreCase: Boolean = false): Boolean

Returns true if this char sequence starts with the specified prefix.

Since Kotlin 1.0
expect fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boolean
expect fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolean = false): Boolean
Since Kotlin 1.0
fun CharSequence.startsWith(prefix: CharSequence, startIndex: Int, ignoreCase: Boolean = false): Boolean

Returns true if a substring of this char sequence starting at the specified offset startIndex starts with the specified prefix.

Since Kotlin 1.0
actual fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boolean

Returns true if this string starts with the specified prefix.

Since Kotlin 1.1
actual fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolean = false): Boolean

Returns true if a substring of this string starting at the specified offset startIndex starts with the specified prefix.

Since Kotlin 1.1
actual fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boolean

Returns true if this string starts with the specified prefix.

Since Kotlin 1.0
actual fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolean = false): Boolean

Returns true if a substring of this string starting at the specified offset startIndex starts with the specified prefix.

Since Kotlin 1.0
actual fun String.startsWith(prefix: String, ignoreCase: Boolean = false): Boolean

Returns true if this string starts with the specified prefix.

Since Kotlin 1.3
actual fun String.startsWith(prefix: String, startIndex: Int, ignoreCase: Boolean = false): Boolean

Returns true if a substring of this string starting at the specified offset startIndex starts with the specified prefix.

Since Kotlin 1.3
Link copied to clipboard
open override fun subSequence(startIndex: Int, endIndex: Int): CharSequence

Returns a new character sequence that is a subsequence of this character sequence, starting at the specified startIndex and ending right before the specified endIndex.

Since Kotlin 1.0
open external override fun subSequence(startIndex: Int, endIndex: Int): CharSequence

Returns a new character sequence that is a subsequence of this character sequence, starting at the specified startIndex and ending right before the specified endIndex.

Since Kotlin 1.3
Link copied to clipboard

Returns a subsequence of this char sequence specified by the given range of indices.

Since Kotlin 1.0
inline fun String.subSequence(start: Int, end: Int): CharSequence

Returns a subsequence of this char sequence.

Since Kotlin 1.0
Link copied to clipboard

Returns a substring of chars at indices from the specified range of this char sequence.

Since Kotlin 1.0
expect fun String.substring(startIndex: Int): String
expect fun String.substring(startIndex: Int, endIndex: Int): String
Since Kotlin 1.0

Returns a substring specified by the given range of indices.

Since Kotlin 1.0
inline fun CharSequence.substring(startIndex: Int, endIndex: Int = length): String

Returns a substring of chars from a range of this char sequence starting at the startIndex and ending right before the endIndex.

Since Kotlin 1.0
actual inline fun String.substring(startIndex: Int): String
actual inline fun String.substring(startIndex: Int, endIndex: Int): String
Since Kotlin 1.1
actual inline fun String.substring(startIndex: Int): String

Returns a substring of this string that starts at the specified startIndex and continues to the end of the string.

Since Kotlin 1.0
actual inline fun String.substring(startIndex: Int, endIndex: Int): String

Returns the substring of this string starting at the startIndex and ending right before the endIndex.

Since Kotlin 1.0
actual inline fun String.substring(startIndex: Int): String

Returns a substring of this string that starts at the specified startIndex and continues to the end of the string.

Since Kotlin 1.3
actual inline fun String.substring(startIndex: Int, endIndex: Int): String

Returns the substring of this string starting at the startIndex and ending right before the endIndex.

Since Kotlin 1.3
Link copied to clipboard
fun String.substringAfter(delimiter: Char, missingDelimiterValue: String = this): String
fun String.substringAfter(delimiter: String, missingDelimiterValue: String = this): String

Returns a substring after the first occurrence of delimiter. If the string does not contain the delimiter, returns missingDelimiterValue which defaults to the original string.

Since Kotlin 1.0
Link copied to clipboard
fun String.substringAfterLast(delimiter: Char, missingDelimiterValue: String = this): String
fun String.substringAfterLast(delimiter: String, missingDelimiterValue: String = this): String

Returns a substring after the last occurrence of delimiter. If the string does not contain the delimiter, returns missingDelimiterValue which defaults to the original string.

Since Kotlin 1.0
Link copied to clipboard
fun String.substringBefore(delimiter: Char, missingDelimiterValue: String = this): String
fun String.substringBefore(delimiter: String, missingDelimiterValue: String = this): String

Returns a substring before the first occurrence of delimiter. If the string does not contain the delimiter, returns missingDelimiterValue which defaults to the original string.

Since Kotlin 1.0
Link copied to clipboard
fun String.substringBeforeLast(delimiter: Char, missingDelimiterValue: String = this): String
fun String.substringBeforeLast(delimiter: String, missingDelimiterValue: String = this): String

Returns a substring before the last occurrence of delimiter. If the string does not contain the delimiter, returns missingDelimiterValue which defaults to the original string.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.sumBy(selector: (Char) -> Int): Int

Returns the sum of all values produced by selector function applied to each character in the char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.sumByDouble(selector: (Char) -> Double): Double

Returns the sum of all values produced by selector function applied to each character in the char sequence.

Since Kotlin 1.0
Link copied to clipboard

Returns a subsequence of this char sequence containing the first n characters from this char sequence, or the entire char sequence if this char sequence is shorter.

Since Kotlin 1.0

Returns a string containing the first n characters from this string, or the entire string if this string is shorter.

Since Kotlin 1.0
Link copied to clipboard

Returns a subsequence of this char sequence containing the last n characters from this char sequence, or the entire char sequence if this char sequence is shorter.

Since Kotlin 1.0

Returns a string containing the last n characters from this string, or the entire string if this string is shorter.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.takeLastWhile(predicate: (Char) -> Boolean): CharSequence

Returns a subsequence of this char sequence containing last characters that satisfy the given predicate.

Since Kotlin 1.0
inline fun String.takeLastWhile(predicate: (Char) -> Boolean): String

Returns a string containing last characters that satisfy the given predicate.

Since Kotlin 1.0
Link copied to clipboard
inline fun CharSequence.takeWhile(predicate: (Char) -> Boolean): CharSequence

Returns a subsequence of this char sequence containing the first characters that satisfy the given predicate.

Since Kotlin 1.0
inline fun String.takeWhile(predicate: (Char) -> Boolean): String

Returns a string containing the first characters that satisfy the given predicate.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.toBigDecimal(mathContext: MathContext): BigDecimal

Parses the string as a java.math.BigDecimal number and returns the result.

Since Kotlin 1.2
Link copied to clipboard

Parses the string as a java.math.BigDecimal number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.2
Link copied to clipboard
inline fun String.toBigInteger(radix: Int): BigInteger

Parses the string as a java.math.BigInteger number and returns the result.

Since Kotlin 1.2
Link copied to clipboard

Parses the string as a java.math.BigInteger number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.2
Link copied to clipboard
expect fun String.toBoolean(): Boolean

Returns true if the content of this string is equal to the word "true", ignoring case, and false otherwise.

Since Kotlin 1.0
actual inline fun String.toBoolean(): Boolean

Returns true if the content of this string is equal to the word "true", ignoring case, and false otherwise.

Since Kotlin 1.1
actual inline fun String.toBoolean(): Boolean

Returns true if the content of this string is equal to the word "true", ignoring case, and false otherwise.

Since Kotlin 1.0
actual inline fun String.toBoolean(): Boolean

Returns true if the content of this string is equal to the word "true", ignoring case, and false otherwise.

Since Kotlin 1.3
Link copied to clipboard
expect fun String.toByte(): Byte
expect fun String.toByte(radix: Int): Byte

Parses the string as a signed Byte number and returns the result.

Since Kotlin 1.0
actual fun String.toByte(): Byte
actual fun String.toByte(radix: Int): Byte

Parses the string as a signed Byte number and returns the result.

Since Kotlin 1.1
actual inline fun String.toByte(): Byte

Parses the string as a signed Byte number and returns the result.

Since Kotlin 1.0
actual inline fun String.toByte(radix: Int): Byte

Parses the string as a signed Byte number and returns the result.

Since Kotlin 1.1
actual inline fun String.toByte(): Byte
actual inline fun String.toByte(radix: Int): Byte

Parses the string as a signed Byte number and returns the result.

Since Kotlin 1.3
Link copied to clipboard
inline fun String.toByteArray(charset: Charset = Charsets.UTF_8): ByteArray

Encodes the contents of this string using the specified character set and returns the resulting byte array.

Since Kotlin 1.0
Link copied to clipboard
fun String.toByteOrNull(radix: Int): Byte?

Parses the string as a signed Byte number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.1
Link copied to clipboard
actual inline fun String.toCharArray(): CharArray

Returns a CharArray containing characters of this string.

Since Kotlin 1.0
inline fun String.toCharArray(destination: CharArray, destinationOffset: Int = 0, startIndex: Int = 0, endIndex: Int = length): CharArray

Copies characters from this string into the destination character array and returns that array.

Since Kotlin 1.0

Returns a CharArray containing characters of this string.

Since Kotlin 1.3
actual fun String.toCharArray(startIndex: Int = 0, endIndex: Int = this.length): CharArray

Returns a CharArray containing characters of this string or its substring.

Since Kotlin 1.3
Link copied to clipboard
fun <C : MutableCollection<in Char>> CharSequence.toCollection(destination: C): C

Appends all characters to the given destination collection.

Since Kotlin 1.0
Link copied to clipboard
expect fun String.toDouble(): Double

Parses the string as a Double number and returns the result.

Since Kotlin 1.0
actual fun String.toDouble(): Double

Parses the string as a Double number and returns the result.

Since Kotlin 1.1
actual inline fun String.toDouble(): Double

Parses the string as a Double number and returns the result.

Since Kotlin 1.0
actual inline fun String.toDouble(): Double

Parses the string as a Double number and returns the result.

Since Kotlin 1.3
Link copied to clipboard

Parses the string as a Double number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.0

Parses the string as a Double number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.1

Parses the string as a Double number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.1

Parses the string as a Double number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.3
Link copied to clipboard
expect fun String.toFloat(): Float

Parses the string as a Float number and returns the result.

Since Kotlin 1.0
actual inline fun String.toFloat(): Float

Parses the string as a Float number and returns the result.

Since Kotlin 1.1
actual inline fun String.toFloat(): Float

Parses the string as a Float number and returns the result.

Since Kotlin 1.0
actual inline fun String.toFloat(): Float

Parses the string as a Float number and returns the result.

Since Kotlin 1.3
Link copied to clipboard
expect fun String.toFloatOrNull(): Float?

Parses the string as a Float number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.0
actual inline fun String.toFloatOrNull(): Float?

Parses the string as a Float number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.1
actual fun String.toFloatOrNull(): Float?

Parses the string as a Float number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.1
actual fun String.toFloatOrNull(): Float?

Parses the string as a Float number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.3
Link copied to clipboard

Returns a new HashSet of all characters.

Since Kotlin 1.0
Link copied to clipboard
expect fun String.toInt(): Int
expect fun String.toInt(radix: Int): Int

Parses the string as an Int number and returns the result.

Since Kotlin 1.0
actual fun String.toInt(): Int
actual fun String.toInt(radix: Int): Int

Parses the string as an Int number and returns the result.

Since Kotlin 1.1
actual inline fun String.toInt(): Int

Parses the string as an Int number and returns the result.

Since Kotlin 1.0
actual inline fun String.toInt(radix: Int): Int

Parses the string as an Int number and returns the result.

Since Kotlin 1.1
actual inline fun String.toInt(): Int
actual inline fun String.toInt(radix: Int): Int

Parses the string as an Int number and returns the result.

Since Kotlin 1.3
Link copied to clipboard
fun String.toIntOrNull(radix: Int): Int?

Parses the string as an Int number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.1
Link copied to clipboard

Returns a List containing all characters.

Since Kotlin 1.0
Link copied to clipboard
expect fun String.toLong(): Long
expect fun String.toLong(radix: Int): Long

Parses the string as a Long number and returns the result.

Since Kotlin 1.0
actual fun String.toLong(): Long
actual fun String.toLong(radix: Int): Long

Parses the string as a Long number and returns the result.

Since Kotlin 1.1
actual inline fun String.toLong(): Long

Parses the string as a Long number and returns the result.

Since Kotlin 1.0
actual inline fun String.toLong(radix: Int): Long

Parses the string as a Long number and returns the result.

Since Kotlin 1.1
actual inline fun String.toLong(): Long
actual inline fun String.toLong(radix: Int): Long

Parses the string as a Long number and returns the result.

Since Kotlin 1.3
Link copied to clipboard
fun String.toLongOrNull(radix: Int): Long?

Parses the string as a Long number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.1
Link copied to clipboard
expect fun String.toLowerCase(): String

Returns a copy of this string converted to lower case using the rules of the default locale.

Since Kotlin 1.0
actual inline fun String.toLowerCase(): String

Returns a copy of this string converted to lower case using the rules of the default locale.

Since Kotlin 1.1
actual inline fun String.toLowerCase(): String

Returns a copy of this string converted to lower case using the rules of the default locale.

Since Kotlin 1.0
inline fun String.toLowerCase(locale: Locale): String

Returns a copy of this string converted to lower case using the rules of the specified locale.

Since Kotlin 1.0
actual fun String.toLowerCase(): String

Returns a copy of this string converted to lower case using the rules of the default locale.

Since Kotlin 1.3
Link copied to clipboard

Returns a new MutableList filled with all characters of this char sequence.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.toPattern(flags: Int = 0): Pattern

Converts the string into a regular expression Pattern optionally with the specified flags from Pattern or'd together so that strings can be split or matched on.

Since Kotlin 1.0
Link copied to clipboard
inline fun String.toRegex(): Regex

Converts the string into a regular expression Regex with the default options.

Since Kotlin 1.0
inline fun String.toRegex(options: Set<RegexOption>): Regex

Converts the string into a regular expression Regex with the specified set of options.

Since Kotlin 1.0
inline fun String.toRegex(option: RegexOption): Regex

Converts the string into a regular expression Regex with the specified single option.

Since Kotlin 1.0
Link copied to clipboard

Returns a Set of all characters.

Since Kotlin 1.0
Link copied to clipboard
expect fun String.toShort(): Short
expect fun String.toShort(radix: Int): Short

Parses the string as a Short number and returns the result.

Since Kotlin 1.0
actual fun String.toShort(): Short
actual fun String.toShort(radix: Int): Short

Parses the string as a Short number and returns the result.

Since Kotlin 1.1
actual inline fun String.toShort(): Short

Parses the string as a Short number and returns the result.

Since Kotlin 1.0
actual inline fun String.toShort(radix: Int): Short

Parses the string as a Short number and returns the result.

Since Kotlin 1.1
actual inline fun String.toShort(): Short
actual inline fun String.toShort(radix: Int): Short

Parses the string as a Short number and returns the result.

Since Kotlin 1.3
Link copied to clipboard

Parses the string as a Short number and returns the result or null if the string is not a valid representation of a number.

Since Kotlin 1.1
Link copied to clipboard

Returns a new SortedSet of all characters.

Since Kotlin 1.0
Link copied to clipboard
open override fun toString(): String
Since Kotlin 1.3
Link copied to clipboard
expect fun String.toUpperCase(): String

Returns a copy of this string converted to upper case using the rules of the default locale.

Since Kotlin 1.0
actual inline fun String.toUpperCase(): String

Returns a copy of this string converted to upper case using the rules of the default locale.

Since Kotlin 1.1
actual inline fun String.toUpperCase(): String

Returns a copy of this string converted to upper case using the rules of the default locale.

Since Kotlin 1.0
inline fun String.toUpperCase(locale: Locale): String

Returns a copy of this string converted to upper case using the rules of the specified locale.

Since Kotlin 1.0
actual fun String.toUpperCase(): String

Returns a copy of this string converted to upper case using the rules of the default locale.

Since Kotlin 1.3
Link copied to clipboard

Returns a sub sequence of this char sequence having leading and trailing whitespace removed.

Since Kotlin 1.0
inline fun String.trim(): String

Returns a string having leading and trailing whitespace removed.

Since Kotlin 1.0
fun CharSequence.trim(vararg chars: Char): CharSequence

Returns a sub sequence of this char sequence having leading and trailing characters from the chars array removed.

Since Kotlin 1.0
inline fun CharSequence.trim(predicate: (Char) -> Boolean): CharSequence

Returns a sub sequence of this char sequence having leading and trailing characters matching the predicate removed.

Since Kotlin 1.0
fun String.trim(vararg chars: Char): String

Returns a string having leading and trailing characters from the chars array removed.

Since Kotlin 1.0
inline fun String.trim(predicate: (Char) -> Boolean): String

Returns a string having leading and trailing characters matching the predicate removed.

Since Kotlin 1.0
Link copied to clipboard

Returns a sub sequence of this char sequence having trailing whitespace removed.

Since Kotlin 1.0
inline fun String.trimEnd(): String

Returns a string having trailing whitespace removed.

Since Kotlin 1.0

Returns a sub sequence of this char sequence having trailing characters from the chars array removed.

Since Kotlin 1.0
inline fun CharSequence.trimEnd(predicate: (Char) -> Boolean): CharSequence

Returns a sub sequence of this char sequence having trailing characters matching the predicate removed.

Since Kotlin 1.0
fun String.trimEnd(vararg chars: Char): String

Returns a string having trailing characters from the chars array removed.

Since Kotlin 1.0
inline fun String.trimEnd(predicate: (Char) -> Boolean): String

Returns a string having trailing characters matching the predicate removed.

Since Kotlin 1.0
Link copied to clipboard

Detects a common minimal indent of all the input lines, removes it from every line and also removes the first and the last lines if they are blank (notice difference blank vs empty).

Since Kotlin 1.0
Link copied to clipboard
fun String.trimMargin(marginPrefix: String = "|"): String

Trims leading whitespace characters followed by marginPrefix from every line of a source string and removes the first and the last lines if they are blank (notice difference blank vs empty).

Since Kotlin 1.0
Link copied to clipboard

Returns a sub sequence of this char sequence having leading whitespace removed.

Since Kotlin 1.0
inline fun String.trimStart(): String

Returns a string having leading whitespace removed.

Since Kotlin 1.0

Returns a sub sequence of this char sequence having leading characters from the chars array removed.

Since Kotlin 1.0
inline fun CharSequence.trimStart(predicate: (Char) -> Boolean): CharSequence

Returns a sub sequence of this char sequence having leading characters matching the predicate removed.

Since Kotlin 1.0
fun String.trimStart(vararg chars: Char): String

Returns a string having leading characters from the chars array removed.

Since Kotlin 1.0
inline fun String.trimStart(predicate: (Char) -> Boolean): String

Returns a string having leading characters matching the predicate removed.

Since Kotlin 1.0
Link copied to clipboard
fun CharSequence.windowed(size: Int, step: Int = 1, partialWindows: Boolean = false): List<String>

Returns a list of snapshots of the window of the given size sliding along this char sequence with the given step, where each snapshot is a string.

Since Kotlin 1.2
fun <R> CharSequence.windowed(size: Int, step: Int = 1, partialWindows: Boolean = false, transform: (CharSequence) -> R): List<R>

Returns a list of results of applying the given transform function to an each char sequence representing a view over the window of the given size sliding along this char sequence with the given step.

Since Kotlin 1.2
Link copied to clipboard
fun CharSequence.windowedSequence(size: Int, step: Int = 1, partialWindows: Boolean = false): Sequence<String>

Returns a sequence of snapshots of the window of the given size sliding along this char sequence with the given step, where each snapshot is a string.

Since Kotlin 1.2
fun <R> CharSequence.windowedSequence(size: Int, step: Int = 1, partialWindows: Boolean = false, transform: (CharSequence) -> R): Sequence<R>

Returns a sequence of results of applying the given transform function to an each char sequence representing a view over the window of the given size sliding along this char sequence with the given step.

Since Kotlin 1.2
Link copied to clipboard

Returns a lazy Iterable that wraps each character of the original char sequence into an IndexedValue containing the index of that character and the character itself.

Since Kotlin 1.0
Link copied to clipboard

Returns a list of pairs built from the characters of this and the other char sequences with the same index The returned list has length of the shortest char sequence.

Since Kotlin 1.0
inline fun <V> CharSequence.zip(other: CharSequence, transform: (a: Char, b: Char) -> V): List<V>

Returns a list of values built from the characters of this and the other char sequences with the same index using the provided transform function applied to each pair of characters. The returned list has length of the shortest char sequence.

Since Kotlin 1.0
Link copied to clipboard

Returns a list of pairs of each two adjacent characters in this char sequence.

Since Kotlin 1.2
inline fun <R> CharSequence.zipWithNext(transform: (a: Char, b: Char) -> R): List<R>

Returns a list containing the results of applying the given transform function to an each pair of two adjacent characters in this char sequence.

Since Kotlin 1.2