String

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.3)
class String : Comparable<String>, CharSequence

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

Constructors

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

<init>

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

<init>()

Properties

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

length

Returns the length of this character sequence.

val length: Int

Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

compareTo

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.

fun compareTo(other: String): Int
Platform and version requirements: Native (1.3)

equals

Indicates whether some other object is "equal to" this one. Implementations must fulfil the following requirements:

fun equals(other: Any?): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

get

Returns the character of this string at the specified index.

fun get(index: Int): Char
Platform and version requirements: Native (1.3)

hashCode

Returns a hash code value for the object. The general contract of hashCode is:

fun hashCode(): Int
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

plus

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

operator fun plus(other: Any?): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

subSequence

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.

fun subSequence(startIndex: Int, endIndex: Int): CharSequence
Platform and version requirements: Native (1.3)

toString

Returns a string representation of the object.

fun toString(): String

Extension Properties

Platform and version requirements: Native (1.3)

cstr

val String.cstr: CValues<ByteVar>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

indices

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

val CharSequence.indices: IntRange
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

lastIndex

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

val CharSequence.lastIndex: Int
Platform and version requirements: Native (1.3)

utf16

val String.utf16: CValues<UShortVar>
Platform and version requirements: Native (1.3)

utf32

val String.utf32: CValues<IntVar>
Platform and version requirements: Native (1.3)

utf8

val String.utf8: CValues<ByteVar>
Platform and version requirements: Native (1.3)

wcstr

val String.wcstr: CValues<UShortVar>

Extension Functions

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

all

Returns true if all characters match the given predicate.

fun CharSequence.all(predicate: (Char) -> Boolean): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

any

Returns true if char sequence has at least one character.

fun CharSequence.any(): Boolean

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

fun CharSequence.any(predicate: (Char) -> Boolean): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

asIterable

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

fun CharSequence.asIterable(): Iterable<Char>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

asSequence

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

fun CharSequence.asSequence(): Sequence<Char>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

associate

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

fun <K, V> CharSequence.associate(
    transform: (Char) -> Pair<K, V>
): Map<K, V>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

associateBy

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

fun <K> CharSequence.associateBy(
    keySelector: (Char) -> K
): Map<K, Char>

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

fun <K, V> CharSequence.associateBy(
    keySelector: (Char) -> K, 
    valueTransform: (Char) -> V
): Map<K, V>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

associateByTo

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.

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 and and value is provided by the valueTransform function applied to characters of the given char sequence.

fun <K, V, M : MutableMap<in K, in V>> CharSequence.associateByTo(
    destination: M, 
    keySelector: (Char) -> K, 
    valueTransform: (Char) -> V
): M
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

associateTo

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

fun <K, V, M : MutableMap<in K, in V>> CharSequence.associateTo(
    destination: M, 
    transform: (Char) -> Pair<K, V>
): M
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

associateWith

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

fun <V> CharSequence.associateWith(
    valueSelector: (Char) -> V
): Map<Char, V>
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

associateWithTo

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.

fun <V, M : MutableMap<in Char, in V>> CharSequence.associateWithTo(
    destination: M, 
    valueSelector: (Char) -> V
): M
Platform and version requirements: JVM (1.0)

byteInputStream

Creates a new byte input stream for the string.

fun String.byteInputStream(
    charset: Charset = Charsets.UTF_8
): ByteArrayInputStream
Platform and version requirements: JVM (1.4)

capitalize

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

fun String.capitalize(locale: Locale): String
Platform and version requirements: JVM (1.2), JS (1.2), Native (1.2)

chunked

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

fun CharSequence.chunked(size: Int): List<String>

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

fun <R> CharSequence.chunked(
    size: Int, 
    transform: (CharSequence) -> R
): List<R>
Platform and version requirements: JVM (1.2), JS (1.2), Native (1.2)

chunkedSequence

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

fun CharSequence.chunkedSequence(size: Int): Sequence<String>

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

fun <R> CharSequence.chunkedSequence(
    size: Int, 
    transform: (CharSequence) -> R
): Sequence<R>
Platform and version requirements: JVM (1.0)

codePointAt

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

fun String.codePointAt(index: Int): Int
Platform and version requirements: JVM (1.0)

codePointBefore

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

fun String.codePointBefore(index: Int): Int
Platform and version requirements: JVM (1.0)

codePointCount

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

fun String.codePointCount(
    beginIndex: Int, 
    endIndex: Int
): Int
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

coerceAtLeast

Ensures that this value is not less than the specified minimumValue.

fun <T : Comparable<T>> T.coerceAtLeast(minimumValue: T): T
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

coerceAtMost

Ensures that this value is not greater than the specified maximumValue.

fun <T : Comparable<T>> T.coerceAtMost(maximumValue: T): T
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

coerceIn

Ensures that this value lies in the specified range minimumValue..maximumValue.

fun <T : Comparable<T>> T.coerceIn(
    minimumValue: T?, 
    maximumValue: T?
): T

Ensures that this value lies in the specified range.

fun <T : Comparable<T>> T.coerceIn(
    range: ClosedFloatingPointRange<T>
): T
fun <T : Comparable<T>> T.coerceIn(range: ClosedRange<T>): T
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

commonPrefixWith

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.

fun CharSequence.commonPrefixWith(
    other: CharSequence, 
    ignoreCase: Boolean = false
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

commonSuffixWith

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.

fun CharSequence.commonSuffixWith(
    other: CharSequence, 
    ignoreCase: Boolean = false
): String
Platform and version requirements: JVM (1.6), JS (1.6), Native (1.6)

compareTo

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.

infix fun <T> Comparable<T>.compareTo(other: T): Int
Platform and version requirements: JS (1.1)

concat

fun String.concat(str: String): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

contains

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

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

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

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

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

operator fun CharSequence.contains(regex: Regex): Boolean
Platform and version requirements: JVM (1.0)

contentEquals

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

fun String.contentEquals(charSequence: CharSequence): Boolean

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

fun String.contentEquals(
    stringBuilder: StringBuffer
): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

count

Returns the length of this char sequence.

fun CharSequence.count(): Int

Returns the number of characters matching the given predicate.

fun CharSequence.count(predicate: (Char) -> Boolean): Int
Platform and version requirements: JVM (1.4)

decapitalize

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

fun String.decapitalize(locale: Locale): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

drop

Returns a string with the first n characters removed.

fun String.drop(n: Int): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

dropLast

Returns a string with the last n characters removed.

fun String.dropLast(n: Int): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

dropLastWhile

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

fun String.dropLastWhile(
    predicate: (Char) -> Boolean
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

dropWhile

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

fun String.dropWhile(predicate: (Char) -> Boolean): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

elementAtOrElse

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.

fun CharSequence.elementAtOrElse(
    index: Int, 
    defaultValue: (Int) -> Char
): Char
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

elementAtOrNull

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

fun CharSequence.elementAtOrNull(index: Int): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

endsWith

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

fun CharSequence.endsWith(
    char: Char, 
    ignoreCase: Boolean = false
): Boolean

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

fun CharSequence.endsWith(
    suffix: CharSequence, 
    ignoreCase: Boolean = false
): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

filter

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

fun String.filter(predicate: (Char) -> Boolean): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

filterIndexed

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

fun String.filterIndexed(
    predicate: (index: Int, Char) -> Boolean
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

filterIndexedTo

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

fun <C : Appendable> CharSequence.filterIndexedTo(
    destination: C, 
    predicate: (index: Int, Char) -> Boolean
): C
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

filterNot

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

fun String.filterNot(predicate: (Char) -> Boolean): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

filterNotTo

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

fun <C : Appendable> CharSequence.filterNotTo(
    destination: C, 
    predicate: (Char) -> Boolean
): C
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

filterTo

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

fun <C : Appendable> CharSequence.filterTo(
    destination: C, 
    predicate: (Char) -> Boolean
): C
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

find

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

fun CharSequence.find(predicate: (Char) -> Boolean): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

findAnyOf

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

fun CharSequence.findAnyOf(
    strings: Collection<String>, 
    startIndex: Int = 0, 
    ignoreCase: Boolean = false
): Pair<Int, String>?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

findLast

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

fun CharSequence.findLast(
    predicate: (Char) -> Boolean
): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

findLastAnyOf

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

fun CharSequence.findLastAnyOf(
    strings: Collection<String>, 
    startIndex: Int = lastIndex, 
    ignoreCase: Boolean = false
): Pair<Int, String>?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

first

Returns first character.

fun CharSequence.first(): Char

Returns the first character matching the given predicate.

fun CharSequence.first(predicate: (Char) -> Boolean): Char
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

firstNotNullOf

Returns the first non-null value produced by transform function being applied to characters of this char sequence in iteration order, or throws NoSuchElementException if no non-null value was produced.

fun <R : Any> CharSequence.firstNotNullOf(
    transform: (Char) -> R?
): R
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

firstNotNullOfOrNull

Returns the first non-null value produced by transform function being applied to characters of this char sequence in iteration order, or null if no non-null value was produced.

fun <R : Any> CharSequence.firstNotNullOfOrNull(
    transform: (Char) -> R?
): R?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

firstOrNull

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

fun CharSequence.firstOrNull(): Char?

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

fun CharSequence.firstOrNull(
    predicate: (Char) -> Boolean
): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

flatMap

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

fun <R> CharSequence.flatMap(
    transform: (Char) -> Iterable<R>
): List<R>
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

flatMapIndexed

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

fun <R> CharSequence.flatMapIndexed(
    transform: (index: Int, Char) -> Iterable<R>
): List<R>
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

flatMapIndexedTo

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

fun <R, C : MutableCollection<in R>> CharSequence.flatMapIndexedTo(
    destination: C, 
    transform: (index: Int, Char) -> Iterable<R>
): C
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

flatMapTo

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

fun <R, C : MutableCollection<in R>> CharSequence.flatMapTo(
    destination: C, 
    transform: (Char) -> Iterable<R>
): C
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

fold

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

fun <R> CharSequence.fold(
    initial: R, 
    operation: (acc: R, Char) -> R
): R
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

foldIndexed

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.

fun <R> CharSequence.foldIndexed(
    initial: R, 
    operation: (index: Int, acc: R, Char) -> R
): R
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

foldRight

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

fun <R> CharSequence.foldRight(
    initial: R, 
    operation: (Char, acc: R) -> R
): R
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

foldRightIndexed

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.

fun <R> CharSequence.foldRightIndexed(
    initial: R, 
    operation: (index: Int, Char, acc: R) -> R
): R
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

forEach

Performs the given action on each character.

fun CharSequence.forEach(action: (Char) -> Unit)
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

forEachIndexed

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

fun CharSequence.forEachIndexed(
    action: (index: Int, Char) -> Unit)
Platform and version requirements: JVM (1.0)

format

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

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 specified locale.

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. If locale is null then no localization is applied.

fun String.format(locale: Locale?, vararg args: Any?): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

getOrElse

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.

fun CharSequence.getOrElse(
    index: Int, 
    defaultValue: (Int) -> Char
): Char
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

getOrNull

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

fun CharSequence.getOrNull(index: Int): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

groupBy

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.

fun <K> CharSequence.groupBy(
    keySelector: (Char) -> K
): Map<K, List<Char>>

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.

fun <K, V> CharSequence.groupBy(
    keySelector: (Char) -> K, 
    valueTransform: (Char) -> V
): Map<K, List<V>>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

groupByTo

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.

fun <K, M : MutableMap<in K, MutableList<Char>>> CharSequence.groupByTo(
    destination: M, 
    keySelector: (Char) -> K
): 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.

fun <K, V, M : MutableMap<in K, MutableList<V>>> CharSequence.groupByTo(
    destination: M, 
    keySelector: (Char) -> K, 
    valueTransform: (Char) -> V
): M
Platform and version requirements: JVM (1.1), JS (1.1), Native (1.1)

groupingBy

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.

fun <K> CharSequence.groupingBy(
    keySelector: (Char) -> K
): Grouping<Char, K>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

hasSurrogatePairAt

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

fun CharSequence.hasSurrogatePairAt(index: Int): Boolean
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

ifBlank

Returns this char sequence if it is not empty and doesn't consist solely of whitespace characters, or the result of calling defaultValue function otherwise.

fun <C, R> C.ifBlank(
    defaultValue: () -> R
): R where C : CharSequence, C : R
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

ifEmpty

Returns this char sequence if it's not empty or the result of calling defaultValue function if the char sequence is empty.

fun <C, R> C.ifEmpty(
    defaultValue: () -> R
): R where C : CharSequence, C : R
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

indexOf

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

fun CharSequence.indexOf(
    char: Char, 
    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.

fun CharSequence.indexOf(
    string: String, 
    startIndex: Int = 0, 
    ignoreCase: Boolean = false
): Int
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

indexOfAny

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.

fun CharSequence.indexOfAny(
    chars: CharArray, 
    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.

fun CharSequence.indexOfAny(
    strings: Collection<String>, 
    startIndex: Int = 0, 
    ignoreCase: Boolean = false
): Int
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

indexOfFirst

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

fun CharSequence.indexOfFirst(
    predicate: (Char) -> Boolean
): Int
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

indexOfLast

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

fun CharSequence.indexOfLast(
    predicate: (Char) -> Boolean
): Int
Platform and version requirements: JVM (1.0)

intern

Returns a canonical representation for this string object.

fun String.intern(): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

isEmpty

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

fun CharSequence.isEmpty(): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

isNotBlank

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

fun CharSequence.isNotBlank(): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

isNotEmpty

Returns true if this char sequence is not empty.

fun CharSequence.isNotEmpty(): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

isNullOrBlank

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

fun CharSequence?.isNullOrBlank(): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

isNullOrEmpty

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

fun CharSequence?.isNullOrEmpty(): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

iterator

Iterator for characters of the given char sequence.

operator fun CharSequence.iterator(): CharIterator
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

last

Returns the last character.

fun CharSequence.last(): Char

Returns the last character matching the given predicate.

fun CharSequence.last(predicate: (Char) -> Boolean): Char
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

lastIndexOf

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

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 string, starting from the specified startIndex.

fun CharSequence.lastIndexOf(
    string: String, 
    startIndex: Int = lastIndex, 
    ignoreCase: Boolean = false
): Int
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

lastIndexOfAny

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.

fun CharSequence.lastIndexOfAny(
    chars: CharArray, 
    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.

fun CharSequence.lastIndexOfAny(
    strings: Collection<String>, 
    startIndex: Int = lastIndex, 
    ignoreCase: Boolean = false
): Int
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

lastOrNull

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

fun CharSequence.lastOrNull(): Char?

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

fun CharSequence.lastOrNull(
    predicate: (Char) -> Boolean
): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

lines

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

fun CharSequence.lines(): List<String>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

lineSequence

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

fun CharSequence.lineSequence(): Sequence<String>
Platform and version requirements: JVM (1.5)

lowercase

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

fun String.lowercase(locale: Locale): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

map

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

fun <R> CharSequence.map(transform: (Char) -> R): List<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

mapIndexed

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

fun <R> CharSequence.mapIndexed(
    transform: (index: Int, Char) -> R
): List<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

mapIndexedNotNull

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.

fun <R : Any> CharSequence.mapIndexedNotNull(
    transform: (index: Int, Char) -> R?
): List<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

mapIndexedNotNullTo

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.

fun <R : Any, C : MutableCollection<in R>> CharSequence.mapIndexedNotNullTo(
    destination: C, 
    transform: (index: Int, Char) -> R?
): C
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

mapIndexedTo

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

fun <R, C : MutableCollection<in R>> CharSequence.mapIndexedTo(
    destination: C, 
    transform: (index: Int, Char) -> R
): C
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

mapNotNull

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

fun <R : Any> CharSequence.mapNotNull(
    transform: (Char) -> R?
): List<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

mapNotNullTo

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

fun <R : Any, C : MutableCollection<in R>> CharSequence.mapNotNullTo(
    destination: C, 
    transform: (Char) -> R?
): C
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

mapTo

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

fun <R, C : MutableCollection<in R>> CharSequence.mapTo(
    destination: C, 
    transform: (Char) -> R
): C
Platform and version requirements: JS (1.1)

match

fun String.match(regex: String): Array<String>?

matches

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

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

infix fun CharSequence.matches(regex: Regex): Boolean
Platform and version requirements: JS (1.1)
fun String.matches(regex: String): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

max

fun CharSequence.max(): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

maxBy

fun <R : Comparable<R>> CharSequence.maxBy(
    selector: (Char) -> R
): Char?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

maxByOrNull

Returns the first character yielding the largest value of the given function or null if there are no characters.

fun <R : Comparable<R>> CharSequence.maxByOrNull(
    selector: (Char) -> R
): Char?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

maxOf

Returns the largest value among all values produced by selector function applied to each character in the char sequence.

fun <R : Comparable<R>> any_iterable<R>.maxOf(
    selector: (Char) -> R
): R
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

maxOfOrNull

Returns the largest value among all values produced by selector function applied to each character in the char sequence or null if there are no characters.

fun <R : Comparable<R>> any_iterable<R>.maxOfOrNull(
    selector: (Char) -> R
): R?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

maxOfWith

Returns the largest value according to the provided comparator among all values produced by selector function applied to each character in the char sequence.

fun <R> CharSequence.maxOfWith(
    comparator: Comparator<in R>, 
    selector: (Char) -> R
): R
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

maxOfWithOrNull

Returns the largest value according to the provided comparator among all values produced by selector function applied to each character in the char sequence or null if there are no characters.

fun <R> CharSequence.maxOfWithOrNull(
    comparator: Comparator<in R>, 
    selector: (Char) -> R
): R?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

maxOrNull

Returns the largest character or null if there are no characters.

fun CharSequence.maxOrNull(): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

maxWith

fun CharSequence.maxWith(
    comparator: Comparator<in Char>
): Char?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

maxWithOrNull

Returns the first character having the largest value according to the provided comparator or null if there are no characters.

fun CharSequence.maxWithOrNull(
    comparator: Comparator<in Char>
): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

min

fun CharSequence.min(): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

minBy

fun <R : Comparable<R>> CharSequence.minBy(
    selector: (Char) -> R
): Char?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

minByOrNull

Returns the first character yielding the smallest value of the given function or null if there are no characters.

fun <R : Comparable<R>> CharSequence.minByOrNull(
    selector: (Char) -> R
): Char?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

minOf

Returns the smallest value among all values produced by selector function applied to each character in the char sequence.

fun <R : Comparable<R>> any_iterable<R>.minOf(
    selector: (Char) -> R
): R
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

minOfOrNull

Returns the smallest value among all values produced by selector function applied to each character in the char sequence or null if there are no characters.

fun <R : Comparable<R>> any_iterable<R>.minOfOrNull(
    selector: (Char) -> R
): R?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

minOfWith

Returns the smallest value according to the provided comparator among all values produced by selector function applied to each character in the char sequence.

fun <R> CharSequence.minOfWith(
    comparator: Comparator<in R>, 
    selector: (Char) -> R
): R
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

minOfWithOrNull

Returns the smallest value according to the provided comparator among all values produced by selector function applied to each character in the char sequence or null if there are no characters.

fun <R> CharSequence.minOfWithOrNull(
    comparator: Comparator<in R>, 
    selector: (Char) -> R
): R?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

minOrNull

Returns the smallest character or null if there are no characters.

fun CharSequence.minOrNull(): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

minWith

fun CharSequence.minWith(
    comparator: Comparator<in Char>
): Char?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

minWithOrNull

Returns the first character having the smallest value according to the provided comparator or null if there are no characters.

fun CharSequence.minWithOrNull(
    comparator: Comparator<in Char>
): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

none

Returns true if the char sequence has no characters.

fun CharSequence.none(): Boolean

Returns true if no characters match the given predicate.

fun CharSequence.none(predicate: (Char) -> Boolean): Boolean
Platform and version requirements: JVM (1.0)

offsetByCodePoints

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

fun String.offsetByCodePoints(
    index: Int, 
    codePointOffset: Int
): Int
Platform and version requirements: JVM (1.1), JS (1.1), Native (1.1)

onEach

Performs the given action on each character and returns the char sequence itself afterwards.

fun <S : CharSequence> S.onEach(action: (Char) -> Unit): S
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

onEachIndexed

Performs the given action on each character, providing sequential index with the character, and returns the char sequence itself afterwards.

fun <S : CharSequence> S.onEachIndexed(
    action: (index: Int, Char) -> Unit
): S
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

orEmpty

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

fun String?.orEmpty(): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

padEnd

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

fun String.padEnd(length: Int, padChar: Char = ' '): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

padStart

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

fun String.padStart(length: Int, padChar: Char = ' '): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

partition

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.

fun String.partition(
    predicate: (Char) -> Boolean
): Pair<String, String>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

prependIndent

Prepends indent to every line of the original string.

fun String.prependIndent(indent: String = "    "): String
Platform and version requirements: JVM (1.3), JS (1.3), Native (1.3)

random

Returns a random character from this char sequence.

fun CharSequence.random(): Char

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

fun CharSequence.random(random: Random): Char
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

randomOrNull

Returns a random character from this char sequence, or null if this char sequence is empty.

fun CharSequence.randomOrNull(): Char?

Returns a random character from this char sequence using the specified source of randomness, or null if this char sequence is empty.

fun CharSequence.randomOrNull(random: Random): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

rangeTo

Creates a range from this Comparable value to the specified that value.

operator fun <T : Comparable<T>> T.rangeTo(
    that: T
): ClosedRange<T>
Platform and version requirements: JVM (1.0)

reader

Creates a new reader for the string.

fun String.reader(): StringReader
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

reduce

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

fun CharSequence.reduce(
    operation: (acc: Char, Char) -> Char
): Char
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

reduceIndexed

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.

fun CharSequence.reduceIndexed(
    operation: (index: Int, acc: Char, Char) -> Char
): Char
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

reduceIndexedOrNull

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.

fun CharSequence.reduceIndexedOrNull(
    operation: (index: Int, acc: Char, Char) -> Char
): Char?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

reduceOrNull

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

fun CharSequence.reduceOrNull(
    operation: (acc: Char, Char) -> Char
): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

reduceRight

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

fun CharSequence.reduceRight(
    operation: (Char, acc: Char) -> Char
): Char
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

reduceRightIndexed

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.

fun CharSequence.reduceRightIndexed(
    operation: (index: Int, Char, acc: Char) -> Char
): Char
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

reduceRightIndexedOrNull

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.

fun CharSequence.reduceRightIndexedOrNull(
    operation: (index: Int, Char, acc: Char) -> Char
): Char?
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

reduceRightOrNull

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

fun CharSequence.reduceRightOrNull(
    operation: (Char, acc: Char) -> Char
): Char?
Platform and version requirements: Native (1.3)

refTo

fun String.refTo(index: Int): CValuesRef<COpaque>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

removePrefix

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

fun String.removePrefix(prefix: CharSequence): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

removeRange

Removes the part of a string at a given range.

fun String.removeRange(
    startIndex: Int, 
    endIndex: Int
): String

Removes the part of a string at the given range.

fun String.removeRange(range: IntRange): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

removeSuffix

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

fun String.removeSuffix(suffix: CharSequence): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

removeSurrounding

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.

fun String.removeSurrounding(
    prefix: CharSequence, 
    suffix: CharSequence
): String

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.

fun String.removeSurrounding(delimiter: CharSequence): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

replace

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

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 result of the given function transform that takes MatchResult and returns a string to be used as a replacement for that match.

fun CharSequence.replace(
    regex: Regex, 
    transform: (MatchResult) -> CharSequence
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

replaceAfter

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.

fun String.replaceAfter(
    delimiter: Char, 
    replacement: String, 
    missingDelimiterValue: String = this
): String
fun String.replaceAfter(
    delimiter: String, 
    replacement: String, 
    missingDelimiterValue: String = this
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

replaceAfterLast

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.

fun String.replaceAfterLast(
    delimiter: String, 
    replacement: String, 
    missingDelimiterValue: String = this
): String
fun String.replaceAfterLast(
    delimiter: Char, 
    replacement: String, 
    missingDelimiterValue: String = this
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

replaceBefore

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.

fun String.replaceBefore(
    delimiter: Char, 
    replacement: String, 
    missingDelimiterValue: String = this
): String
fun String.replaceBefore(
    delimiter: String, 
    replacement: String, 
    missingDelimiterValue: String = this
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

replaceBeforeLast

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.

fun String.replaceBeforeLast(
    delimiter: Char, 
    replacement: String, 
    missingDelimiterValue: String = this
): String
fun String.replaceBeforeLast(
    delimiter: String, 
    replacement: String, 
    missingDelimiterValue: String = this
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

replaceFirst

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

fun CharSequence.replaceFirst(
    regex: Regex, 
    replacement: String
): String
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

replaceFirstChar

Returns a copy of this string having its first character replaced with the result of the specified transform, or the original string if it's empty.

fun String.replaceFirstChar(
    transform: (Char) -> Char
): String
fun String.replaceFirstChar(
    transform: (Char) -> CharSequence
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

replaceIndent

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

fun String.replaceIndent(newIndent: String = ""): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

replaceIndentByMargin

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

fun String.replaceIndentByMargin(
    newIndent: String = "", 
    marginPrefix: String = "|"
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

replaceRange

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

fun String.replaceRange(
    startIndex: Int, 
    endIndex: Int, 
    replacement: CharSequence
): String

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

fun String.replaceRange(
    range: IntRange, 
    replacement: CharSequence
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

reversed

Returns a string with characters in reversed order.

fun String.reversed(): String
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

runningFold

Returns a list containing successive accumulation values generated by applying operation from left to right to each character and current accumulator value that starts with initial value.

fun <R> CharSequence.runningFold(
    initial: R, 
    operation: (acc: R, Char) -> R
): List<R>
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

runningFoldIndexed

Returns a list containing successive accumulation values generated by applying operation from left to right to each character, its index in the original char sequence and current accumulator value that starts with initial value.

fun <R> CharSequence.runningFoldIndexed(
    initial: R, 
    operation: (index: Int, acc: R, Char) -> R
): List<R>
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

runningReduce

Returns a list containing successive accumulation values generated by applying operation from left to right to each character and current accumulator value that starts with the first character of this char sequence.

fun CharSequence.runningReduce(
    operation: (acc: Char, Char) -> Char
): List<Char>
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

runningReduceIndexed

Returns a list containing successive accumulation values generated by applying operation from left to right to each character, its index in the original char sequence and current accumulator value that starts with the first character of this char sequence.

fun CharSequence.runningReduceIndexed(
    operation: (index: Int, acc: Char, Char) -> Char
): List<Char>
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

scan

Returns a list containing successive accumulation values generated by applying operation from left to right to each character and current accumulator value that starts with initial value.

fun <R> CharSequence.scan(
    initial: R, 
    operation: (acc: R, Char) -> R
): List<R>
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)

scanIndexed

Returns a list containing successive accumulation values generated by applying operation from left to right to each character, its index in the original char sequence and current accumulator value that starts with initial value.

fun <R> CharSequence.scanIndexed(
    initial: R, 
    operation: (index: Int, acc: R, Char) -> R
): List<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

single

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

fun CharSequence.single(): Char

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

fun CharSequence.single(predicate: (Char) -> Boolean): Char
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

singleOrNull

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

fun CharSequence.singleOrNull(): Char?

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

fun CharSequence.singleOrNull(
    predicate: (Char) -> Boolean
): Char?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

slice

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

fun String.slice(indices: IntRange): String

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

fun String.slice(indices: Iterable<Int>): String

split

Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

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

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>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

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

fun CharSequence.split(
    regex: Regex, 
    limit: Int = 0
): List<String>
Platform and version requirements: JVM (1.0)

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

fun CharSequence.split(
    regex: Pattern, 
    limit: Int = 0
): List<String>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

splitToSequence

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

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 matches of the given regular expression.

fun CharSequence.splitToSequence(
    regex: Regex, 
    limit: Int = 0
): Sequence<String>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

startsWith

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

fun CharSequence.startsWith(
    char: Char, 
    ignoreCase: Boolean = false
): Boolean

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

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

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

fun CharSequence.startsWith(
    prefix: CharSequence, 
    startIndex: Int, 
    ignoreCase: Boolean = false
): Boolean
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

subSequence

Returns a subsequence of this char sequence.

fun String.subSequence(start: Int, end: Int): CharSequence

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

fun CharSequence.subSequence(range: IntRange): CharSequence
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

substring

Returns a substring specified by the given range of indices.

fun String.substring(range: IntRange): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

substringAfter

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.

fun String.substringAfter(
    delimiter: Char, 
    missingDelimiterValue: String = this
): String
fun String.substringAfter(
    delimiter: String, 
    missingDelimiterValue: String = this
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

substringAfterLast

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.

fun String.substringAfterLast(
    delimiter: Char, 
    missingDelimiterValue: String = this
): String
fun String.substringAfterLast(
    delimiter: String, 
    missingDelimiterValue: String = this
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

substringBefore

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.

fun String.substringBefore(
    delimiter: Char, 
    missingDelimiterValue: String = this
): String
fun String.substringBefore(
    delimiter: String, 
    missingDelimiterValue: String = this
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

substringBeforeLast

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.

fun String.substringBeforeLast(
    delimiter: Char, 
    missingDelimiterValue: String = this
): String
fun String.substringBeforeLast(
    delimiter: String, 
    missingDelimiterValue: String = this
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

sumBy

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

fun CharSequence.sumBy(selector: (Char) -> Int): Int
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

sumByDouble

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

fun CharSequence.sumByDouble(
    selector: (Char) -> Double
): Double

sumOf

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

Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)
fun CharSequence.sumOf(selector: (Char) -> Double): Double
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)
fun CharSequence.sumOf(selector: (Char) -> Int): Int
Platform and version requirements: JVM (1.4), JS (1.4), Native (1.4)
fun CharSequence.sumOf(selector: (Char) -> Long): Long
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)
fun CharSequence.sumOf(selector: (Char) -> UInt): UInt
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)
fun CharSequence.sumOf(selector: (Char) -> ULong): ULong
Platform and version requirements: JVM (1.4)
fun CharSequence.sumOf(
    selector: (Char) -> BigDecimal
): BigDecimal
Platform and version requirements: JVM (1.4)
fun CharSequence.sumOf(
    selector: (Char) -> BigInteger
): BigInteger
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

take

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

fun String.take(n: Int): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

takeLast

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

fun String.takeLast(n: Int): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

takeLastWhile

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

fun String.takeLastWhile(
    predicate: (Char) -> Boolean
): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

takeWhile

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

fun String.takeWhile(predicate: (Char) -> Boolean): String
Platform and version requirements: JVM (1.2)

toBigDecimal

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

fun String.toBigDecimal(): BigDecimal
fun String.toBigDecimal(mathContext: MathContext): BigDecimal
Platform and version requirements: JVM (1.2)

toBigDecimalOrNull

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.

fun String.toBigDecimalOrNull(): BigDecimal?
fun String.toBigDecimalOrNull(
    mathContext: MathContext
): BigDecimal?
Platform and version requirements: JVM (1.2)

toBigInteger

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

fun String.toBigInteger(): BigInteger
fun String.toBigInteger(radix: Int): BigInteger
Platform and version requirements: JVM (1.2)

toBigIntegerOrNull

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.

fun String.toBigIntegerOrNull(): BigInteger?
fun String.toBigIntegerOrNull(radix: Int): BigInteger?
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toBooleanStrict

Returns true if the content of this string is equal to the word "true", false if it is equal to "false", and throws an exception otherwise.

fun String.toBooleanStrict(): Boolean
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toBooleanStrictOrNull

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

fun String.toBooleanStrictOrNull(): Boolean?
Platform and version requirements: JVM (1.0)

toByteArray

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

fun String.toByteArray(
    charset: Charset = Charsets.UTF_8
): ByteArray
Platform and version requirements: JVM (1.1), JS (1.1), Native (1.1)

toByteOrNull

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.

fun String.toByteOrNull(): Byte?
fun String.toByteOrNull(radix: Int): Byte?
Platform and version requirements: JVM (1.0)

toCharArray

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

fun String.toCharArray(
    destination: CharArray, 
    destinationOffset: Int = 0, 
    startIndex: Int = 0, 
    endIndex: Int = length
): CharArray
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

toCollection

Appends all characters to the given destination collection.

fun <C : MutableCollection<in Char>> CharSequence.toCollection(
    destination: C
): C
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

toHashSet

Returns a new HashSet of all characters.

fun CharSequence.toHashSet(): HashSet<Char>
Platform and version requirements: JVM (1.1), JS (1.1), Native (1.1)

toIntOrNull

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

fun String.toIntOrNull(): Int?
fun String.toIntOrNull(radix: Int): Int?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

toList

Returns a List containing all characters.

fun CharSequence.toList(): List<Char>
Platform and version requirements: JVM (1.1), JS (1.1), Native (1.1)

toLongOrNull

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

fun String.toLongOrNull(): Long?
fun String.toLongOrNull(radix: Int): Long?
Platform and version requirements: JVM (1.0)

toLowerCase

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

fun String.toLowerCase(locale: Locale): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

toMutableList

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

fun CharSequence.toMutableList(): MutableList<Char>
Platform and version requirements: JVM (1.0)

toPattern

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.

fun String.toPattern(flags: Int = 0): Pattern
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

toRegex

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

fun String.toRegex(): Regex

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

fun String.toRegex(option: RegexOption): Regex

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

fun String.toRegex(options: Set<RegexOption>): Regex
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

toSet

Returns a Set of all characters.

fun CharSequence.toSet(): Set<Char>
Platform and version requirements: JVM (1.1), JS (1.1), Native (1.1)

toShortOrNull

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

fun String.toShortOrNull(): Short?
fun String.toShortOrNull(radix: Int): Short?
Platform and version requirements: JVM (1.0)

toSortedSet

Returns a new SortedSet of all characters.

fun CharSequence.toSortedSet(): SortedSet<Char>
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toUByte

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

fun String.toUByte(): UByte
fun String.toUByte(radix: Int): UByte
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toUByteOrNull

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

fun String.toUByteOrNull(): UByte?
fun String.toUByteOrNull(radix: Int): UByte?
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toUInt

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

fun String.toUInt(): UInt
fun String.toUInt(radix: Int): UInt
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toUIntOrNull

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

fun String.toUIntOrNull(): UInt?
fun String.toUIntOrNull(radix: Int): UInt?
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toULong

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

fun String.toULong(): ULong
fun String.toULong(radix: Int): ULong
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toULongOrNull

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

fun String.toULongOrNull(): ULong?
fun String.toULongOrNull(radix: Int): ULong?
Platform and version requirements: JVM (1.0)

toUpperCase

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

fun String.toUpperCase(locale: Locale): String
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toUShort

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

fun String.toUShort(): UShort
fun String.toUShort(radix: Int): UShort
Platform and version requirements: JVM (1.5), JS (1.5), Native (1.5)

toUShortOrNull

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

fun String.toUShortOrNull(): UShort?
fun String.toUShortOrNull(radix: Int): UShort?
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

trim

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

fun String.trim(predicate: (Char) -> Boolean): String

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

fun String.trim(vararg chars: Char): String

Returns a string having leading and trailing whitespace removed.

fun String.trim(): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

trimEnd

Returns a string having trailing characters matching the predicate removed.

fun String.trimEnd(predicate: (Char) -> Boolean): String

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

fun String.trimEnd(vararg chars: Char): String

Returns a string having trailing whitespace removed.

fun String.trimEnd(): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

trimIndent

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).

fun String.trimIndent(): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

trimMargin

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).

fun String.trimMargin(marginPrefix: String = "|"): String
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

trimStart

Returns a string having leading characters matching the predicate removed.

fun String.trimStart(predicate: (Char) -> Boolean): String

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

fun String.trimStart(vararg chars: Char): String

Returns a string having leading whitespace removed.

fun String.trimStart(): String
Platform and version requirements: JVM (1.5)

uppercase

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

fun String.uppercase(locale: Locale): String
Platform and version requirements: JVM (1.2), JS (1.2), Native (1.2)

windowed

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.

fun CharSequence.windowed(
    size: Int, 
    step: Int = 1, 
    partialWindows: Boolean = false
): List<String>

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.

fun <R> CharSequence.windowed(
    size: Int, 
    step: Int = 1, 
    partialWindows: Boolean = false, 
    transform: (CharSequence) -> R
): List<R>
Platform and version requirements: JVM (1.2), JS (1.2), Native (1.2)

windowedSequence

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.

fun CharSequence.windowedSequence(
    size: Int, 
    step: Int = 1, 
    partialWindows: Boolean = false
): Sequence<String>

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.

fun <R> CharSequence.windowedSequence(
    size: Int, 
    step: Int = 1, 
    partialWindows: Boolean = false, 
    transform: (CharSequence) -> R
): Sequence<R>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

withIndex

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.

fun CharSequence.withIndex(): Iterable<IndexedValue<Char>>
Platform and version requirements: JVM (1.0), JS (1.0), Native (1.0)

zip

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.

infix fun CharSequence.zip(
    other: CharSequence
): List<Pair<Char, Char>>

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.

fun <V> CharSequence.zip(
    other: CharSequence, 
    transform: (a: Char, b: Char) -> V
): List<V>
Platform and version requirements: JVM (1.2), JS (1.2), Native (1.2)

zipWithNext

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

fun CharSequence.zipWithNext(): List<Pair<Char, Char>>

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

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

Companion Object Extension Functions

Platform and version requirements: JVM (1.0)

format

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

fun String.Companion.format(
    format: String, 
    vararg args: Any?
): String

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

fun String.Companion.format(
    locale: Locale, 
    format: String, 
    vararg args: Any?
): String

Uses the provided format as a format string and returns a string obtained by substituting the specified arguments, using the specified locale. If locale is null then no localization is applied.

fun String.Companion.format(
    locale: Locale?, 
    format: String, 
    vararg args: Any?
): String

© 2010–2021 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html