StringBuilder
class StringBuilder : Appendable, CharSequence
typealias StringBuilder = StringBuilder
class StringBuilder : CharSequence, Appendable
Изменяемая последовательность символов.
Строка-построитель может использоваться для эффективного выполнения нескольких операций с манипулированием строками.
Конструкторы
<init>
Создаёт пустой строковый буфер.
<init>()
Создаёт пустой строковый буфер с указанной начальной ёмкостью.
<init>(capacity: Int)
Создаёт строковый буфер, содержащий те же символы, что и указанная последовательность символов.
<init>(content: CharSequence)
Создаёт строковый буфер, содержащий те же символы, что и указанная строка.
<init>(content: String)
Свойства
length
Возвращает длину этой последовательности символов.
val length: Int
Функции
присоединить
fun append(value: Byte): StringBuilder
fun append(value: Short): StringBuilder
fun append(value: Int): StringBuilder
fun append(value: Long): StringBuilder
fun append(value: Float): StringBuilder
fun append(value: Double): StringBuilder
Присоединяет указанный символ значение к этому Appendable и возвращает этот экземпляр.
fun append(value: Char): StringBuilder
Присоединяет указанную последовательность символов значение к этому Appendable и возвращает этот экземпляр.
fun append(value: CharSequence?): StringBuilder
Присоединяет подпоследовательность указанной последовательности символов значение к этому Appendable и возвращает этот экземпляр.
fun append( value: CharSequence?, startIndex: Int, endIndex: Int ): StringBuilder
Присоединяет строковое представление указанного объекта значение к этому строковому буферу и возвращает этот экземпляр.
fun append(value: Any?): StringBuilder
Присоединяет строковое представление указанного булева значение к этому строковому буферу и возвращает этот экземпляр.
fun append(value: Boolean): StringBuilder
Присоединяет символы в указанном массиве символов значение к этому строковому буферу и возвращает этот экземпляр.
fun append(value: CharArray): StringBuilder
Присоединяет указанную строку значение к этому строковому буферу и возвращает этот экземпляр.
fun append(value: String?): StringBuilder
присоединитьДиапазон
Присоединяет символы в подмассиве указанного массива символов значение к этому строковому буферу и возвращает этот экземпляр.
fun appendRange( value: CharArray, startIndex: Int, endIndex: Int ): StringBuilder
Присоединяет подпоследовательность указанной последовательности символов значение к этому строковому буферу и возвращает этот экземпляр.
fun appendRange( value: CharSequence, startIndex: Int, endIndex: Int ): StringBuilder
емкость
Возвращает текущую емкость этого строкового буфера.
fun capacity(): Int
fun capacity(): Int
очистить
Очищает содержимое этого строкового буфера, делая его пустым, и возвращает этот экземпляр.
fun clear(): StringBuilder
удалитьПоИндексу
Удаляет символ по указанному индексу из этого строкового буфера и возвращает этот экземпляр.
fun deleteAt(index: Int): StringBuilder
удалитьДиапазон
Удаляет символы в указанном диапазоне из этого строкового буфера и возвращает этот экземпляр.
fun deleteRange( startIndex: Int, endIndex: Int ): StringBuilder
обеспечитьЕмкость
Обеспечивает, что емкость этого строкового буфера по крайней мере равна указанному минимальнойЕмкости.
fun ensureCapacity(minimumCapacity: Int)
получить
Возвращает символ по указанному индексу в этой последовательности символов.
operator fun get(index: Int): Char
fun get(index: Int): Char
индекс
Возвращает индекс в этом строковом буфере первой встречи указанной строки.
fun indexOf(string: String): Int
Возвращает индекс в этом строковом буфере первой встречи указанной строки, начиная с указанного startIndex.
fun indexOf(string: String, startIndex: Int): Int
вставка
fun insert(index: Int, value: Byte): StringBuilder
fun insert(index: Int, value: Short): StringBuilder
fun insert(index: Int, value: Int): StringBuilder
fun insert(index: Int, value: Long): StringBuilder
fun insert(index: Int, value: Float): StringBuilder
fun insert(index: Int, value: Double): StringBuilder
Вставляет строковое представление указанного булева значения value в этот буфер строк по указанному индексу и возвращает этот экземпляр.
fun insert(index: Int, value: Boolean): StringBuilder
Вставляет указанный символ value в этот буфер строк по указанному индексу и возвращает этот экземпляр.
fun insert(index: Int, value: Char): StringBuilder
Вставляет символы из указанного массива символов value в этот буфер строк по указанному индексу и возвращает этот экземпляр.
fun insert(index: Int, value: CharArray): StringBuilder
Вставляет символы из указанной последовательности символов value в этот буфер строк по указанному индексу и возвращает этот экземпляр.
fun insert(index: Int, value: CharSequence?): StringBuilder
вставкаДиапазона
последнийИндекс
Возвращает индекс в этом буфере строк последнего вхождения указанной строки. Последнее вхождение пустой строки "" считается имеющим индекс, равный this.length.
fun lastIndexOf(string: String): Int
Возвращает индекс в этом буфере строк последнего вхождения указанной строки, начиная с указанного startIndex в сторону начала.
fun lastIndexOf(string: String, startIndex: Int): Int
обратить
Обращает содержимое этого буфера строк и возвращает этот экземпляр.
fun reverse(): StringBuilder
установить
установитьДлину
Устанавливает длину этого буфера строк до указанной newLength.
fun setLength(newLength: Int)
установитьДиапазон
Заменяет символы в указанном диапазоне этого буфера строк символами в указанной строке value и возвращает этот экземпляр.
fun setRange( startIndex: Int, endIndex: Int, value: String ): StringBuilder
подпоследовательность
Возвращает новую последовательность символов, которая является подпоследовательностью этой последовательности символов, начиная с указанного startIndex и заканчивая непосредственно перед указанным endIndex.
fun subSequence(startIndex: Int, endIndex: Int): CharSequence
подстрока
Возвращает новую строку, которая содержит символы в этом буфере строк по startIndex (включительно) и до длины (исключительно).
fun substring(startIndex: Int): String
Возвращает новую строку, которая содержит символы в этом буфере строк по startIndex (включительно) и до endIndex (исключительно).
fun substring(startIndex: Int, endIndex: Int): String
toCharArray
Копирует символы из этого объекта StringBuilder в массив символов destination.
fun toCharArray( destination: CharArray, destinationOffset: Int = 0, startIndex: Int = 0, endIndex: Int = this.length)
toString
Возвращает строковое представление объекта.
fun toString(): String
trimToSize
Попытка уменьшить используемое хранилище для этого объекта StringBuilder.
fun trimToSize()
Расширяющие свойства
indices
Возвращает диапазон допустимых индексов символов для этой последовательности символов.
val CharSequence.indices: IntRange
lastIndex
Возвращает индекс последнего символа в последовательности символов или -1, если она пуста.
val CharSequence.lastIndex: Int
Расширяющие функции
все
Возвращает true если все символы соответствуют заданному
fun CharSequence.all(predicate: (Char) -> Boolean): Boolean
любой
Возвращает true если последовательность символов содержит хотя бы один символ.
fun CharSequence.any(): Boolean
Возвращает true если хотя бы один символ соответствует заданному
fun CharSequence.any(predicate: (Char) -> Boolean): Boolean
добавить
fun StringBuilder.append(obj: Any?): StringBuilder
fun StringBuilder.append( str: CharArray, offset: Int, len: Int ): StringBuilder
Добавляет все аргументы в заданный StringBuilder.
fun StringBuilder.append( vararg value: String? ): StringBuilder
fun StringBuilder.append(vararg value: Any?): StringBuilder
Добавляет все аргументы в заданный Appendable.
fun <T : Appendable> T.append(vararg value: CharSequence?): T
добавитьСтроку
Добавляет символ перевода строки (\n) в этот StringBuilder.
fun StringBuilder.appendLine(): StringBuilder
Добавляет значение в этот StringBuilder, после чего символ перевода строки (\n).
fun StringBuilder.appendLine( value: CharSequence? ): StringBuilder
fun StringBuilder.appendLine(value: String?): StringBuilder
fun StringBuilder.appendLine(value: Any?): StringBuilder
fun StringBuilder.appendLine(value: CharArray): StringBuilder
fun StringBuilder.appendLine(value: Char): StringBuilder
fun StringBuilder.appendLine(value: Boolean): StringBuilder
fun StringBuilder.appendLine(value: Byte): StringBuilder
fun StringBuilder.appendLine(value: Short): StringBuilder
fun StringBuilder.appendLine(value: Int): StringBuilder
fun StringBuilder.appendLine(value: Long): StringBuilder
fun StringBuilder.appendLine(value: Float): StringBuilder
fun StringBuilder.appendLine(value: Double): StringBuilder
добавитьСтроку
fun StringBuilder.appendln(it: String): StringBuilder
fun StringBuilder.appendln(it: Boolean): StringBuilder
fun StringBuilder.appendln(it: Byte): StringBuilder
fun StringBuilder.appendln(it: Short): StringBuilder
fun StringBuilder.appendln(it: Int): StringBuilder
fun StringBuilder.appendln(it: Long): StringBuilder
fun StringBuilder.appendln(it: Float): StringBuilder
fun StringBuilder.appendln(it: Double): StringBuilder
fun StringBuilder.appendln(it: Any?): StringBuilder
fun StringBuilder.appendln(): StringBuilder
asIterable
Создаёт экземпляр Iterable, который оборачивает исходную последовательность символов, возвращая её символы при итерации.
fun CharSequence.asIterable(): Iterable<Char>
asSequence
Создаёт экземпляр Sequence, который оборачивает исходную последовательность символов, возвращая её символы при итерации.
fun CharSequence.asSequence(): Sequence<Char>
сопоставить
Возвращает Map, содержащую пары ключ-значение, предоставленные функцией
fun <K, V> CharSequence.associate(
transform: (Char) -> Pair<K, V>
): Map<K, V>
сопоставитьПо
Возвращает Map, содержащую символы из заданной последовательности символов, индексированные по ключу, возвращённому функцией
fun <K> CharSequence.associateBy(
keySelector: (Char) -> K
): Map<K, Char>
Возвращает Map, содержащую значения, предоставленные функцией , применённой к символам заданной последовательности символов.
fun <K, V> CharSequence.associateBy( keySelector: (Char) -> K, valueTransform: (Char) -> V ): Map<K, V>
associateByTo
Заполняет и возвращает изменяемую карту destination парами ключ-значение, где ключ предоставляется функцией keySelector, применённой к каждому символу заданной последовательности символов, а значением является сам символ.
fun <K, M : MutableMap<in K, in Char>> CharSequence.associateByTo( destination: M, keySelector: (Char) -> K ): M
Заполняет и возвращает изменяемую карту destination парами ключ-значение, где ключ предоставляется функцией keySelector, а значение предоставляется функцией valueTransform, применённой к символам заданной последовательности символов.
fun <K, V, M : MutableMap<in K, in V>> CharSequence.associateByTo( destination: M, keySelector: (Char) -> K, valueTransform: (Char) -> V ): M
associateTo
Заполняет и возвращает изменяемую карту destination парами ключ-значение, предоставляемыми функцией transform, применённой к каждому символу заданной последовательности символов.
fun <K, V, M : MutableMap<in K, in V>> CharSequence.associateTo( destination: M, transform: (Char) -> Pair<K, V> ): M
associateWith
Возвращает карту Map, где ключами являются символы из заданной последовательности символов, а значения генерируются функцией valueSelector, применённой к каждому символу.
fun <V> CharSequence.associateWith( valueSelector: (Char) -> V ): Map<Char, V>
associateWithTo
Заполняет и возвращает изменяемую карту destination парами ключ-значение для каждого символа заданной последовательности символов, где ключ — сам символ, а значение предоставляется функцией valueSelector, применённой к этому ключу.
fun <V, M : MutableMap<in Char, in V>> CharSequence.associateWithTo( destination: M, valueSelector: (Char) -> V ): M
chunked
Разделяет эту последовательность символов на список строк, каждая из которых не превышает заданного размера size.
fun CharSequence.chunked(size: Int): List<String>
chunkedSequence
Разделяет эту последовательность символов на последовательность строк, каждая из которых не превышает заданного размера size.
fun CharSequence.chunkedSequence(size: Int): Sequence<String>
commonPrefixWith
Возвращает самую длинную строку prefix, такая что эта последовательность символов и последовательность символов other начинаются с этого префикса, учитывая, что пар символов не разделяются. Если у этой и other нет общего префикса, возвращает пустую строку.
fun CharSequence.commonPrefixWith( other: CharSequence, ignoreCase: Boolean = false ): String
commonSuffixWith
Возвращает самую длинную строку suffix, такая что эта последовательность символов и последовательность символов other заканчиваются этим суффиксом, учитывая, что пар символов не разделяются. Если у этой и other нет общего суффикса, возвращает пустую строку.
fun CharSequence.commonSuffixWith( other: CharSequence, ignoreCase: Boolean = false ): String
contains
Возвращает true, если эта последовательность символов содержит указанную последовательность символов other в качестве подстроки.
operator fun CharSequence.contains( other: CharSequence, ignoreCase: Boolean = false ): Boolean
Возвращает true, если эта последовательность символов содержит указанный символ char.
operator fun CharSequence.contains( char: Char, ignoreCase: Boolean = false ): Boolean
Возвращает true, если эта последовательность символов содержит хотя бы одно совпадение указанного регулярного выражения regex.
operator fun CharSequence.contains(regex: Regex): Boolean
count
Возвращает длину этой последовательности символов.
fun CharSequence.count(): Int
Возвращает количество символов, соответствующих заданному предикату.
fun CharSequence.count(predicate: (Char) -> Boolean): Int
deleteCharAt
Удаляет символ по указанному индексу из этого строкового буфера и возвращает этот экземпляр.
fun StringBuilder.deleteCharAt(index: Int): StringBuilder
drop
Возвращает подпоследовательность этой последовательности символов, из которой удалены первые n символов.
fun CharSequence.drop(n: Int): CharSequence
dropLast
Возвращает подпоследовательность этой последовательности символов, из которой удалены последние n символов.
fun CharSequence.dropLast(n: Int): CharSequence
dropLastWhile
Возвращает подпоследовательность этой последовательности символов, содержащую все символы, кроме последних символов, удовлетворяющих заданному предикату.
fun CharSequence.dropLastWhile( predicate: (Char) -> Boolean ): CharSequence
dropWhile
Возвращает подпоследовательность этой последовательности символов, содержащую все символы, кроме первых символов, удовлетворяющих заданному предикату.
fun CharSequence.dropWhile( predicate: (Char) -> Boolean ): CharSequence
elementAtOrElse
Возвращает символ по заданному индексу или результат вызова функции defaultValue, если индекс выходит за пределы этой последовательности символов.
fun CharSequence.elementAtOrElse( index: Int, defaultValue: (Int) -> Char ): Char
elementAtOrNull
endsWith
Возвращает true , если эта последовательность символов заканчивается указанным символом.
fun CharSequence.endsWith( char: Char, ignoreCase: Boolean = false ): Boolean
Возвращает true , если эта последовательность символов заканчивается указанным суффиксом.
fun CharSequence.endsWith( suffix: CharSequence, ignoreCase: Boolean = false ): Boolean
filter
Возвращает последовательность символов, содержащую только те символы из исходной последовательности символов, которые соответствуют заданному предикату.
fun CharSequence.filter( predicate: (Char) -> Boolean ): CharSequence
filterIndexed
Возвращает последовательность символов, содержащую только те символы из исходной последовательности символов, которые соответствуют заданному предикату.
fun CharSequence.filterIndexed( predicate: (index: Int, Char) -> Boolean ): CharSequence
filterTo
Добавляет все символы, соответствующие заданному предикату, в заданное назначение.
fun <C : Appendable> CharSequence.filterTo( destination: C, predicate: (Char) -> Boolean ): C
find
Возвращает первый символ, соответствующий заданному
fun CharSequence.find(predicate: (Char) -> Boolean): Char?
findAnyOf
Находит первое вхождение любого из указанных строк в этой последовательности символов, начиная с указанного индекса начала, и необязательно игнорируя регистр.
fun CharSequence.findAnyOf( strings: Collection<String>, startIndex: Int = 0, ignoreCase: Boolean = false ): Pair<Int, String>?
findLast
Возвращает последний символ, соответствующий заданному
fun CharSequence.findLast(
predicate: (Char) -> Boolean
): Char?
findLastAnyOf
Находит последнее вхождение любого из указанных строк в этой последовательности символов, начиная с указанного индекса начала, и необязательно игнорируя регистр.
fun CharSequence.findLastAnyOf( strings: Collection<String>, startIndex: Int = lastIndex, ignoreCase: Boolean = false ): Pair<Int, String>?
first
Возвращает первый символ.
fun CharSequence.first(): Char
Возвращает первый символ, соответствующий заданному
fun CharSequence.first(predicate: (Char) -> Boolean): Char
firstNotNullOf
Возвращает первое ненулевое значение, полученное функцией преобразования, применяемой к символам этой последовательности символов в порядке итерации, или выбрасывает исключение NoSuchElementException, если такое ненулевое значение не было произведено.
fun <R : Any> CharSequence.firstNotNullOf( transform: (Char) -> R? ): R
firstNotNullOfOrNull
Возвращает первое ненулевое значение, полученное функцией преобразования, применяемой к символам этой последовательности символов в порядке итерации, или null если такое ненулевое значение не было произведено.
fun <R : Any> CharSequence.firstNotNullOfOrNull( transform: (Char) -> R? ): R?
firstOrNull
Возвращает первый символ, или null если последовательность символов пуста.
fun CharSequence.firstOrNull(): Char?
Возвращает первый символ, соответствующий заданному
fun CharSequence.firstOrNull(
predicate: (Char) -> Boolean
): Char?
flatMap
Возвращает единственный список всех элементов, полученных из результатов функции преобразования, вызываемой для каждого символа исходной последовательности символов.
fun <R> CharSequence.flatMap( transform: (Char) -> Iterable<R> ): List<R>
flatMapIndexed
Возвращает единственный список всех элементов, полученных из результатов функции преобразования, вызываемой для каждого символа и его индекса в исходной последовательности символов.
fun <R> CharSequence.flatMapIndexed( transform: (index: Int, Char) -> Iterable<R> ): List<R>
flatMapIndexedTo
Добавляет все элементы, полученные из результатов функции преобразования, вызываемой для каждого символа и его индекса в исходной последовательности символов, в заданное назначение.
fun <R, C : MutableCollection<in R>> CharSequence.flatMapIndexedTo( destination: C, transform: (index: Int, Char) -> Iterable<R> ): C
flatMapTo
Добавляет все элементы, полученные из результатов функции преобразования, вызываемой для каждого символа исходной последовательности символов, в заданное назначение.
fun <R, C : MutableCollection<in R>> CharSequence.flatMapTo( destination: C, transform: (Char) -> Iterable<R> ): C
fold
Накапливает значение, начиная с начального значения и применяя операцию слева направо к текущему значению аккумулятора и каждому символу.
fun <R> CharSequence.fold( initial: R, operation: (acc: R, Char) -> R ): R
foldIndexed
Накапливает значение, начиная с начального значения и применяя операцию слева направо к текущему значению аккумулятора и каждому символу с его индексом в исходной последовательности символов.
fun <R> CharSequence.foldIndexed( initial: R, operation: (index: Int, acc: R, Char) -> R ): R
foldRight
Накапливает значение, начиная с начального значения и применяя операцию справа налево к каждому символу и текущему значению аккумулятора.
fun <R> CharSequence.foldRight( initial: R, operation: (Char, acc: R) -> R ): R
foldRightIndexed
Накапливает значение, начиная с начального значения и применяя операцию справа налево к каждому символу с его индексом в исходной последовательности символов и текущему значению аккумулятора.
fun <R> CharSequence.foldRightIndexed( initial: R, operation: (index: Int, Char, acc: R) -> R ): R
forEach
Выполняет заданное действие над каждым символом.
fun CharSequence.forEach(action: (Char) -> Unit)
forEachIndexed
Выполняет заданное действие над каждым символом, предоставляя последовательный индекс с символом.
fun CharSequence.forEachIndexed( action: (index: Int, Char) -> Unit)
getOrElse
getOrNull
groupBy
Группирует символы исходной последовательности символов по ключу, возвращаемому заданной функцией keySelector, применённой к каждому символу, и возвращает карту, где каждый ключ группы связан со списком соответствующих символов.
fun <K> CharSequence.groupBy( keySelector: (Char) -> K ): Map<K, List<Char>>
Группирует значения, возвращаемые функцией valueTransform, применённой к каждому символу исходной последовательности символов, по ключу, возвращаемому заданной функцией keySelector, применённой к символу, и возвращает карту, где каждый ключ группы связан со списком соответствующих значений.
fun <K, V> CharSequence.groupBy( keySelector: (Char) -> K, valueTransform: (Char) -> V ): Map<K, List<V>>
groupByTo
Группирует символы исходной последовательности символов по ключу, возвращаемому заданной функцией keySelector, применённой к каждому символу, и помещает в карту destination каждый ключ группы, связанный со списком соответствующих символов.
fun <K, M : MutableMap<in K, MutableList<Char>>> CharSequence.groupByTo( destination: M, keySelector: (Char) -> K ): M
Группирует значения, возвращаемые функцией valueTransform, применённой к каждому символу исходной последовательности символов, по ключу, возвращаемому заданной функцией keySelector, применённой к символу, и помещает в карту destination каждый ключ группы, связанный со списком соответствующих значений.
fun <K, V, M : MutableMap<in K, MutableList<V>>> CharSequence.groupByTo( destination: M, keySelector: (Char) -> K, valueTransform: (Char) -> V ): M
groupingBy
Создает источник Grouping из последовательности символов для последующего использования с одной из операций группировки и сворачивания, используя указанную функцию keySelector для извлечения ключа из каждого символа.
fun <K> CharSequence.groupingBy( keySelector: (Char) -> K ): Grouping<Char, K>
hasSurrogatePairAt
Возвращает true если эта CharSequence содержит пару суррогатных символов Unicode по указанному index.
fun CharSequence.hasSurrogatePairAt(index: Int): Boolean
ifBlank
Возвращает эту последовательность символов, если она не пуста и не состоит только из пробельных символов, или результат вызова функции defaultValue в противном случае.
fun <C, R> C.ifBlank( defaultValue: () -> R ): R where C : CharSequence, C : R
ifEmpty
Возвращает эту последовательность символов, если она не пуста, или результат вызова функции defaultValue, если последовательность символов пуста.
fun <C, R> C.ifEmpty( defaultValue: () -> R ): R where C : CharSequence, C : R
indexOf
Возвращает индекс в этой строке первого вхождения указанного символа, начиная с указанного startIndex.
fun CharSequence.indexOf( char: Char, startIndex: Int = 0, ignoreCase: Boolean = false ): Int
Возвращает индекс в этой последовательности символов первого вхождения указанной string, начиная с указанного startIndex.
fun CharSequence.indexOf( string: String, startIndex: Int = 0, ignoreCase: Boolean = false ): Int
indexOfAny
Находит индекс первого вхождения любого из указанных chars в этой последовательности символов, начиная с указанного startIndex и необязательно игнорируя регистр.
fun CharSequence.indexOfAny( chars: CharArray, startIndex: Int = 0, ignoreCase: Boolean = false ): Int
Находит индекс первого вхождения любого из указанных strings в этой последовательности символов, начиная с указанного startIndex и необязательно игнорируя регистр.
fun CharSequence.indexOfAny( strings: Collection<String>, startIndex: Int = 0, ignoreCase: Boolean = false ): Int
indexOfFirst
Возвращает индекс первого символа, соответствующего заданному predicate, или -1, если последовательность символов не содержит такого символа.
fun CharSequence.indexOfFirst( predicate: (Char) -> Boolean ): Int
indexOfLast
Возвращает индекс последнего символа, соответствующего заданному predicate, или -1, если последовательность символов не содержит такого символа.
fun CharSequence.indexOfLast( predicate: (Char) -> Boolean ): Int
insert
isEmpty
Возвращает true, если эта последовательность символов пуста (не содержит символов).
fun CharSequence.isEmpty(): Boolean
isNotBlank
Возвращает true, если эта последовательность символов не пуста и содержит символы, кроме пробельных.
fun CharSequence.isNotBlank(): Boolean
isNotEmpty
Возвращает true, если эта последовательность символов не пуста.
fun CharSequence.isNotEmpty(): Boolean
isNullOrBlank
Возвращает true, если эта допускающая значение NULL последовательность символов либо null либо пуста, либо состоит только из пробельных символов.
fun CharSequence?.isNullOrBlank(): Boolean
isNullOrEmpty
Возвращает true, если эта допускающая значение NULL последовательность символов либо null либо пуста.
fun CharSequence?.isNullOrEmpty(): Boolean
iterator
Итератор для символов данной последовательности символов.
operator fun CharSequence.iterator(): CharIterator
последний
Возвращает последний символ.
fun CharSequence.last(): Char
Возвращает последний символ, соответствующий заданному
fun CharSequence.last(predicate: (Char) -> Boolean): Char
lastIndexOf
Возвращает индекс последнего вхождения указанного символа в этой последовательности символов, начиная с указанного
fun CharSequence.lastIndexOf(
char: Char,
startIndex: Int = lastIndex,
ignoreCase: Boolean = false
): Int
Возвращает индекс последнего вхождения указанной .
fun CharSequence.lastIndexOf( string: String, startIndex: Int = lastIndex, ignoreCase: Boolean = false ): Int
lastIndexOfAny
Находит индекс последнего вхождения любого из указанных и необязательно игнорируя регистр.
fun CharSequence.lastIndexOfAny( chars: CharArray, startIndex: Int = lastIndex, ignoreCase: Boolean = false ): Int
Находит индекс последнего вхождения любой из указанных и необязательно игнорируя регистр.
fun CharSequence.lastIndexOfAny( strings: Collection<String>, startIndex: Int = lastIndex, ignoreCase: Boolean = false ): Int
последнийИлиNull
Возвращает последний символ или null если последовательность символов пуста.
fun CharSequence.lastOrNull(): Char?
Возвращает последний символ, соответствующий заданному
fun CharSequence.lastOrNull(
predicate: (Char) -> Boolean
): Char?
строки
Разбивает эту последовательность символов на список строк, ограниченных любыми из следующих последовательностей символов: CRLF, LF или CR.
fun CharSequence.lines(): List<String>
последовательностьСтрок
Разбивает эту последовательность символов на последовательность строк, ограниченных любыми из следующих последовательностей символов: CRLF, LF или CR.
fun CharSequence.lineSequence(): Sequence<String>
преобразовать
Возвращает список, содержащий результаты применения заданной
fun <R> CharSequence.map(transform: (Char) -> R): List<R>
преобразоватьСИндексом
Возвращает список, содержащий результаты применения заданной
fun <R> CharSequence.mapIndexed(
transform: (index: Int, Char) -> R
): List<R>
преобразоватьСИндексомИИсключитьNull
Возвращает список, содержащий только результаты, отличные от null, от применения заданной
fun <R : Any> CharSequence.mapIndexedNotNull(
transform: (index: Int, Char) -> R?
): List<R>
преобразоватьСИндексомИсключитьNullВ
Применяет заданную .
fun <R : Any, C : MutableCollection<in R>> CharSequence.mapIndexedNotNullTo( destination: C, transform: (index: Int, Char) -> R? ): C
преобразоватьСИндексомВ
Применяет заданную .
fun <R, C : MutableCollection<in R>> CharSequence.mapIndexedTo( destination: C, transform: (index: Int, Char) -> R ): C
преобразоватьИсключитьNull
Возвращает список, содержащий только результаты, отличные от null, от применения заданной
fun <R : Any> CharSequence.mapNotNull(
transform: (Char) -> R?
): List<R>
mapNotNullTo
Применяет заданную функцию transform к каждому символу в исходной строке символов и добавляет только ненулевые результаты в заданный destination.
fun <R : Any, C : MutableCollection<in R>> CharSequence.mapNotNullTo( destination: C, transform: (Char) -> R? ): C
mapTo
Применяет заданную функцию transform к каждому символу исходной строки символов и добавляет результаты в заданный destination.
fun <R, C : MutableCollection<in R>> CharSequence.mapTo( destination: C, transform: (Char) -> R ): C
matches
Возвращает true если эта строка символов соответствует данному регулярному выражению.
infix fun CharSequence.matches(regex: Regex): Boolean
maxByOrNull
Возвращает первый символ, дающий наибольшее значение заданной функции, или null если символов нет.
fun <R : Comparable<R>> CharSequence.maxByOrNull( selector: (Char) -> R ): Char?
maxOf
Возвращает наибольшее значение среди всех значений, полученных с помощью функции selector, примененной к каждому символу в строке символов.
fun <R : Comparable<R>> any_iterable<R>.maxOf( selector: (Char) -> R ): R
maxOfOrNull
Возвращает наибольшее значение среди всех значений, полученных с помощью функции selector, примененной к каждому символу в строке символов, или null если символов нет.
fun <R : Comparable<R>> any_iterable<R>.maxOfOrNull( selector: (Char) -> R ): R?
maxOfWith
Возвращает наибольшее значение в соответствии с предоставленным comparator среди всех значений, полученных с помощью функции selector, примененной к каждому символу в строке символов.
fun <R> CharSequence.maxOfWith( comparator: Comparator<in R>, selector: (Char) -> R ): R
maxOfWithOrNull
Возвращает наибольшее значение в соответствии с предоставленным comparator среди всех значений, полученных с помощью функции selector, примененной к каждому символу в строке символов, или null если символов нет.
fun <R> CharSequence.maxOfWithOrNull( comparator: Comparator<in R>, selector: (Char) -> R ): R?
maxOrNull
Возвращает наибольший символ или null если символов нет.
fun CharSequence.maxOrNull(): Char?
maxWith
Возвращает первый символ, имеющий наибольшее значение в соответствии с предоставленным comparator.
fun CharSequence.maxWith( comparator: Comparator<in Char> ): Char
maxWithOrNull
Возвращает первый символ, имеющий наибольшее значение в соответствии с предоставленным comparator, или null если символов нет.
fun CharSequence.maxWithOrNull( comparator: Comparator<in Char> ): Char?
minByOrNull
Возвращает первый символ, дающий наименьшее значение заданной функции, или null если символов нет.
fun <R : Comparable<R>> CharSequence.minByOrNull( selector: (Char) -> R ): Char?
minOf
Возвращает наименьшее значение среди всех значений, полученных с помощью функции selector, примененной к каждому символу в строке символов.
fun <R : Comparable<R>> any_iterable<R>.minOf( selector: (Char) -> R ): R
minOfOrNull
Возвращает наименьшее значение среди всех значений, полученных с помощью функции selector, примененной к каждому символу в строке символов, или null если символов нет.
fun <R : Comparable<R>> any_iterable<R>.minOfOrNull( selector: (Char) -> R ): R?
minOfWith
Возвращает наименьшее значение в соответствии с предоставленным comparator среди всех значений, полученных с помощью функции selector, примененной к каждому символу в последовательности символов.
fun <R> CharSequence.minOfWith( comparator: Comparator<in R>, selector: (Char) -> R ): R
minOfWithOrNull
Возвращает наименьшее значение в соответствии с предоставленным comparator среди всех значений, полученных с помощью функции selector, примененной к каждому символу в последовательности символов, или null если символов нет.
fun <R> CharSequence.minOfWithOrNull( comparator: Comparator<in R>, selector: (Char) -> R ): R?
minOrNull
Возвращает наименьший символ или null если символов нет.
fun CharSequence.minOrNull(): Char?
minWith
Возвращает первый символ, имеющий наименьшее значение в соответствии с предоставленным comparator.
fun CharSequence.minWith( comparator: Comparator<in Char> ): Char
minWithOrNull
Возвращает первый символ, имеющий наименьшее значение в соответствии с предоставленным comparator или null если символов нет.
fun CharSequence.minWithOrNull( comparator: Comparator<in Char> ): Char?
none
Возвращает true если последовательность символов не содержит символов.
fun CharSequence.none(): Boolean
Возвращает true если ни один символ не соответствует заданному predicate.
fun CharSequence.none(predicate: (Char) -> Boolean): Boolean
onEach
Выполняет заданное action для каждого символа и возвращает саму последовательность символов после этого.
fun <S : CharSequence> S.onEach(action: (Char) -> Unit): S
onEachIndexed
Выполняет заданное action для каждого символа, предоставляя порядковый индекс с символом, и возвращает саму последовательность символов после этого.
fun <S : CharSequence> S.onEachIndexed( action: (index: Int, Char) -> Unit ): S
padEnd
Возвращает последовательность символов с содержимым этой последовательности символов, дополненной в конце до указанной length указанным символом или пробелом.
fun CharSequence.padEnd( length: Int, padChar: Char = ' ' ): CharSequence
padStart
Возвращает последовательность символов с содержимым этой последовательности символов, дополненной в начале до указанной length указанным символом или пробелом.
fun CharSequence.padStart( length: Int, padChar: Char = ' ' ): CharSequence
partition
Разделяет исходную последовательность символов на пару последовательностей символов, где первая последовательность символов содержит символы, для которых predicate дал true, а вторая последовательность символов содержит символы, для которых predicate дал false.
fun CharSequence.partition( predicate: (Char) -> Boolean ): Pair<CharSequence, CharSequence>
random
Возвращает случайный символ из этой последовательности символов.
fun CharSequence.random(): Char
Возвращает случайный символ из этой последовательности символов, используя указанный источник случайности.
fun CharSequence.random(random: Random): Char
randomOrNull
Возвращает случайный символ из этой последовательности символов или null если эта последовательность символов пуста.
fun CharSequence.randomOrNull(): Char?
Возвращает случайный символ из этой последовательности символов, используя указанный источник случайности, или null если эта последовательность символов пуста.
fun CharSequence.randomOrNull(random: Random): Char?
reduceIndexed
Накапливает значение, начиная с первого символа и применяя операцию слева направо к текущему накопленному значению и каждому символу с его индексом в исходной последовательности символов.
fun CharSequence.reduceIndexed( operation: (index: Int, acc: Char, Char) -> Char ): Char
reduceIndexedOrNull
Накапливает значение, начиная с первого символа и применяя операцию слева направо к текущему накопленному значению и каждому символу с его индексом в исходной последовательности символов.
fun CharSequence.reduceIndexedOrNull( operation: (index: Int, acc: Char, Char) -> Char ): Char?
reduceOrNull
Накапливает значение, начиная с первого символа и применяя операцию слева направо к текущему накопленному значению и каждому символу.
fun CharSequence.reduceOrNull( operation: (acc: Char, Char) -> Char ): Char?
reduceRight
Накапливает значение, начиная с последнего символа и применяя операцию справа налево к каждому символу и текущему накопленному значению.
fun CharSequence.reduceRight( operation: (Char, acc: Char) -> Char ): Char
reduceRightIndexed
Накапливает значение, начиная с последнего символа и применяя операцию справа налево к каждому символу с его индексом в исходной последовательности символов и текущему накопленному значению.
fun CharSequence.reduceRightIndexed( operation: (index: Int, Char, acc: Char) -> Char ): Char
reduceRightIndexedOrNull
Накапливает значение, начиная с последнего символа и применяя операцию справа налево к каждому символу с его индексом в исходной последовательности символов и текущему накопленному значению.
fun CharSequence.reduceRightIndexedOrNull( operation: (index: Int, Char, acc: Char) -> Char ): Char?
reduceRightOrNull
Накапливает значение, начиная с последнего символа и применяя операцию справа налево к каждому символу и текущему накопленному значению.
fun CharSequence.reduceRightOrNull( operation: (Char, acc: Char) -> Char ): Char?
removePrefix
Если эта последовательность символов начинается с заданного префикса, возвращает новую последовательность символов без префикса. В противном случае возвращает новую последовательность символов с теми же символами.
fun CharSequence.removePrefix( prefix: CharSequence ): CharSequence
removeRange
Возвращает последовательность символов с содержимым этой последовательности символов, где удалена часть в заданном диапазоне.
fun CharSequence.removeRange( startIndex: Int, endIndex: Int ): CharSequence
Возвращает последовательность символов с содержимым этой последовательности символов, где удалена часть в заданном диапазоне.
fun CharSequence.removeRange(range: IntRange): CharSequence
removeSuffix
Если эта последовательность символов заканчивается заданным суффиксом, возвращает новую последовательность символов без суффикса. В противном случае возвращает новую последовательность символов с теми же символами.
fun CharSequence.removeSuffix( suffix: CharSequence ): CharSequence
removeSurrounding
Когда эта последовательность символов начинается с заданного префикса и заканчивается заданным суффиксом, возвращает новую последовательность символов, из которой удалены заданный префикс и суффикс. В противном случае возвращает новую последовательность символов с теми же символами.
fun CharSequence.removeSurrounding( prefix: CharSequence, suffix: CharSequence ): CharSequence
Когда эта последовательность символов начинается и заканчивается заданным разделителем, возвращает новую последовательность символов, из которой удален этот разделитель с начала и конца. В противном случае возвращает новую последовательность символов с теми же символами.
fun CharSequence.removeSurrounding( delimiter: CharSequence ): CharSequence
replace
Возвращает новую строку, полученную заменой каждой подстроки этой последовательности символов, которая соответствует заданному регулярному выражению, заданным заменителем.
fun CharSequence.replace( regex: Regex, replacement: String ): String
Возвращает новую строку, полученную заменой каждой подстроки этой последовательности символов, которая соответствует заданному регулярному выражению, результатом заданной функции transform, которая принимает MatchResult и возвращает строку, которая будет использоваться как замена для этого совпадения.
fun CharSequence.replace( regex: Regex, transform: (MatchResult) -> CharSequence ): String
replaceFirst
Заменяет первое вхождение заданного регулярного выражения regex в этой последовательности символов на указанное выражение replacement.
fun CharSequence.replaceFirst( regex: Regex, replacement: String ): String
replaceRange
Возвращает последовательность символов с содержимым этой последовательности символов, где её часть в заданном диапазоне заменена на последовательность символов replacement.
fun CharSequence.replaceRange( startIndex: Int, endIndex: Int, replacement: CharSequence ): CharSequence
Возвращает последовательность символов с содержимым этой последовательности символов, где её часть в заданном range заменена на последовательность символов replacement.
fun CharSequence.replaceRange( range: IntRange, replacement: CharSequence ): CharSequence
reversed
Возвращает последовательность символов с символами в обратном порядке.
fun CharSequence.reversed(): CharSequence
runningFold
Возвращает список, содержащий последовательные значения накопления, сгенерированные путем применения operation слева направо к каждому символу и текущему значению накопителя, которое начинается со значения initial.
fun <R> CharSequence.runningFold( initial: R, operation: (acc: R, Char) -> R ): List<R>
runningFoldIndexed
Возвращает список, содержащий последовательные значения накопления, сгенерированные путем применения operation слева направо к каждому символу, его индексу в исходной последовательности символов и текущему значению накопителя, которое начинается со значения initial.
fun <R> CharSequence.runningFoldIndexed( initial: R, operation: (index: Int, acc: R, Char) -> R ): List<R>
runningReduce
Возвращает список, содержащий последовательные значения накопления, сгенерированные путем применения operation слева направо к каждому символу и текущему значению накопителя, которое начинается с первого символа этой последовательности символов.
fun CharSequence.runningReduce( operation: (acc: Char, Char) -> Char ): List<Char>
runningReduceIndexed
Возвращает список, содержащий последовательные значения накопления, сгенерированные путем применения operation слева направо к каждому символу, его индексу в исходной последовательности символов и текущему значению накопителя, которое начинается с первого символа этой последовательности символов.
fun CharSequence.runningReduceIndexed( operation: (index: Int, acc: Char, Char) -> Char ): List<Char>
scan
scanIndexed
Возвращает список, содержащий последовательные значения накопления, сгенерированные путем применения operation слева направо к каждому символу, его индексу в исходной последовательности символов и текущему значению накопителя, которое начинается со значения initial.
fun <R> CharSequence.scanIndexed( initial: R, operation: (index: Int, acc: R, Char) -> R ): List<R>
setCharAt
fun StringBuilder.setCharAt(index: Int, value: Char)
single
Возвращает единственный символ или вызывает исключение, если последовательность символов пуста или содержит более одного символа.
fun CharSequence.single(): Char
Возвращает единственный символ, соответствующий заданному predicate, или вызывает исключение, если нет ни одного или более одного совпадающего символа.
fun CharSequence.single(predicate: (Char) -> Boolean): Char
singleOrNull
Возвращает единственный символ или null если последовательность символов пуста или содержит более одного символа.
fun CharSequence.singleOrNull(): Char?
Возвращает единственный символ, соответствующий заданному predicate, или null если символ не найден или найдено более одного символа.
fun CharSequence.singleOrNull( predicate: (Char) -> Boolean ): Char?
slice
Возвращает последовательность символов, содержащую символы исходной последовательности символов в указанном диапазоне индексов.
fun CharSequence.slice(indices: IntRange): CharSequence
Возвращает последовательность символов, содержащую символы исходной последовательности символов по указанным индексам.
fun CharSequence.slice(indices: Iterable<Int>): CharSequence
split
Разбивает эту последовательность символов на список строк вокруг вхождений указанных разделителей.
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>
Разбивает эту последовательность символов на список строк вокруг совпадений с заданным регулярным выражением.
fun CharSequence.split( regex: Regex, limit: Int = 0 ): List<String>
splitToSequence
Разбивает эту последовательность символов на последовательность строк вокруг вхождений указанных разделителей.
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>
Разбивает эту последовательность символов на последовательность строк вокруг совпадений с заданным регулярным выражением.
fun CharSequence.splitToSequence( regex: Regex, limit: Int = 0 ): Sequence<String>
startsWith
Возвращает true , если эта последовательность символов начинается с указанного символа.
fun CharSequence.startsWith( char: Char, ignoreCase: Boolean = false ): Boolean
Возвращает true , если эта последовательность символов начинается с указанного префикса.
fun CharSequence.startsWith( prefix: CharSequence, ignoreCase: Boolean = false ): Boolean
Возвращает true , если подстрока этой последовательности символов, начинающаяся с указанного смещения startIndex, начинается с указанного префикса.
fun CharSequence.startsWith( prefix: CharSequence, startIndex: Int, ignoreCase: Boolean = false ): Boolean
subSequence
Возвращает подпоследовательность этой последовательности символов, заданную заданным диапазоном индексов.
fun CharSequence.subSequence(range: IntRange): CharSequence
substring
Возвращает подстроку символов из диапазона этой последовательности символов, начинающейся с startIndex и заканчивающейся прямо перед endIndex.
fun CharSequence.substring( startIndex: Int, endIndex: Int = length ): String
Возвращает подстроку символов по индексам из указанного диапазона этой последовательности символов.
fun CharSequence.substring(range: IntRange): String
sumBy
Возвращает сумму всех значений, полученных функцией selector, примененной к каждому символу в последовательности символов.
fun CharSequence.sumBy(selector: (Char) -> Int): Int
sumByDouble
Возвращает сумму всех значений, полученных функцией selector, примененной к каждому символу в последовательности символов.
fun CharSequence.sumByDouble( selector: (Char) -> Double ): Double
sumOf
Возвращает сумму всех значений, полученных функцией selector, примененной к каждому символу в последовательности символов.
fun CharSequence.sumOf(selector: (Char) -> Double): Double
fun CharSequence.sumOf(selector: (Char) -> Int): Int
fun CharSequence.sumOf(selector: (Char) -> Long): Long
fun CharSequence.sumOf(selector: (Char) -> UInt): UInt
fun CharSequence.sumOf(selector: (Char) -> ULong): ULong
take
Возвращает подпоследовательность этой последовательности символов, содержащую первые n символов из этой последовательности символов, или всю последовательность символов, если эта последовательность символов короче.
fun CharSequence.take(n: Int): CharSequence
takeLast
Возвращает подпоследовательность этой последовательности символов, содержащую последние n символов из этой последовательности символов, или всю последовательность символов, если эта последовательность символов короче.
fun CharSequence.takeLast(n: Int): CharSequence
takeLastWhile
Возвращает подпоследовательность этой последовательности символов, содержащую последние символы, удовлетворяющие заданному предикату.
fun CharSequence.takeLastWhile( predicate: (Char) -> Boolean ): CharSequence
takeWhile
Возвращает подпоследовательность этой последовательности символов, содержащую первые символы, которые удовлетворяют заданному предикату.
fun CharSequence.takeWhile( predicate: (Char) -> Boolean ): CharSequence
toCollection
Добавляет все символы в заданное назначение коллекцию.
fun <C : MutableCollection<in Char>> CharSequence.toCollection( destination: C ): C
toHashSet
Возвращает новый HashSet всех символов.
fun CharSequence.toHashSet(): HashSet<Char>
toList
Возвращает Список, содержащий все символы.
fun CharSequence.toList(): List<Char>
toMutableList
Возвращает новый MutableList, заполненный всеми символами этой последовательности символов.
fun CharSequence.toMutableList(): MutableList<Char>
toSet
Возвращает Набор всех символов.
fun CharSequence.toSet(): Set<Char>
trim
Возвращает подпоследовательность этой последовательности символов, из которой удалены ведущие и хвостовые символы, соответствующие предикату.
fun CharSequence.trim( predicate: (Char) -> Boolean ): CharSequence
Возвращает подпоследовательность этой последовательности символов, из которой удалены ведущие и хвостовые символы из массива символов.
fun CharSequence.trim(vararg chars: Char): CharSequence
Возвращает подпоследовательность этой последовательности символов, из которой удалены ведущие и хвостовые пробелы.
fun CharSequence.trim(): CharSequence
trimEnd
Возвращает подпоследовательность этой последовательности символов, из которой удалены хвостовые символы, соответствующие предикату.
fun CharSequence.trimEnd( predicate: (Char) -> Boolean ): CharSequence
Возвращает подпоследовательность этой последовательности символов, из которой удалены хвостовые символы из массива символов.
fun CharSequence.trimEnd(vararg chars: Char): CharSequence
Возвращает подпоследовательность этой последовательности символов, из которой удалены хвостовые пробелы.
fun CharSequence.trimEnd(): CharSequence
trimStart
Возвращает подпоследовательность этой последовательности символов, из которой удалены ведущие символы, соответствующие предикату.
fun CharSequence.trimStart( predicate: (Char) -> Boolean ): CharSequence
Возвращает подпоследовательность этой последовательности символов, из которой удалены ведущие символы из массива символов.
fun CharSequence.trimStart(vararg chars: Char): CharSequence
Возвращает подпоследовательность этой последовательности символов, из которой удалены ведущие пробелы.
fun CharSequence.trimStart(): CharSequence
windowed
Возвращает список снимков окна заданного размера, скользящего вдоль этой последовательности символов с заданным шагом, где каждый снимок представляет собой строку.
fun CharSequence.windowed( size: Int, step: Int = 1, partialWindows: Boolean = false ): List<String>
Возвращает список результатов применения заданной функции_преобразования к каждой последовательности символов, представляющей вид на окно заданного размера, скользящего вдоль этой последовательности символов с заданным шагом.
fun <R> CharSequence.windowed( size: Int, step: Int = 1, partialWindows: Boolean = false, transform: (CharSequence) -> R ): List<R>
windowedSequence
Возвращает последовательность снимков окна заданного размера, скользящего по этой последовательности символов с заданным шагом, где каждый снимок — строка.
fun CharSequence.windowedSequence( size: Int, step: Int = 1, partialWindows: Boolean = false ): Sequence<String>
Возвращает последовательность результатов применения заданной функции преобразования к каждой последовательности символов, представляющей фрагмент окна заданного размера, скользящего по этой последовательности символов с заданным шагом.
fun <R> CharSequence.windowedSequence( size: Int, step: Int = 1, partialWindows: Boolean = false, transform: (CharSequence) -> R ): Sequence<R>
withIndex
Возвращает ленивую Iterable, которая оборачивает каждый символ исходной последовательности символов в IndexedValue, содержащий индекс этого символа и сам символ.
fun CharSequence.withIndex(): Iterable<IndexedValue<Char>>
zip
Возвращает список пар, построенных из символов this и последовательностей символов other с одинаковым индексом. Возвращаемый список имеет длину наименьшей последовательности символов.
infix fun CharSequence.zip( other: CharSequence ): List<Pair<Char, Char>>
Возвращает список значений, построенных из символов this и последовательностей символов other с одинаковым индексом с использованием предоставленной функции преобразования, примененной к каждой паре символов. Возвращаемый список имеет длину наименьшей последовательности символов.
fun <V> CharSequence.zip( other: CharSequence, transform: (a: Char, b: Char) -> V ): List<V>
zipWithNext
Возвращает список пар из каждых двух смежных символов в этой последовательности символов.
fun CharSequence.zipWithNext(): List<Pair<Char, Char>>
Возвращает список, содержащий результаты применения заданной функции преобразования к каждой паре двух смежных символов в этой последовательности символов.
fun <R> CharSequence.zipWithNext( transform: (a: Char, b: Char) -> R ): List<R>
© 2010–2023 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.text/-string-builder/index.html