Функция replaceRange
Функция replaceRange заменяет часть строки в указанном диапазоне
индексов на новую подстроку. Принимает начальный и конечный индексы
диапазона для замены, а также строку, на которую нужно заменить
указанный фрагмент.
Синтаксис
fun String.replaceRange(
startIndex: Int,
endIndex: Int,
replacement: CharSequence
): String
fun String.replaceRange(
range: IntRange,
replacement: CharSequence
): String
Пример
Заменим часть строки "abcdef" с индексами от 1 до 4
на подстроку "123":
val str = "abcdef"
val res = str.replaceRange(1, 4, "123")
println(res)
Результат выполнения кода:
String "a123ef"
Пример
Использование диапазона IntRange для замены части строки:
val str = "abcdef"
val res = str.replaceRange(2..5, "XYZ")
println(res)
Результат выполнения кода:
String "abXYZf"
Пример
Замена с использованием переменных для индексов:
val text = "Hello World"
val start = 6
val end = 11
val replacement = "Kotlin"
val res = text.replaceRange(start, end, replacement)
println(res)
Результат выполнения кода:
String "Hello Kotlin"
Пример
Замена пустого диапазона (начальный индекс равен конечному):
val str = "abcde"
val res = str.replaceRange(2, 2, "INSERT")
println(res)
Результат выполнения кода:
String "abINSERTcde"
Пример
Если конечный индекс превышает длину строки, будет выброшено
исключение IndexOutOfBoundsException:
val str = "abc"
try {
val res = str.replaceRange(1, 10, "test")
println(res)
} catch (e: IndexOutOfBoundsException) {
println("Error: ${e.message}")
}
Результат выполнения кода:
Error: endIndex: 10, length: 3
Смотрите также
-
функцию
substring,
которая извлекает подстроку из строки -
функцию
replace,
которая заменяет все вхождения подстроки -
функцию
replaceFirst,
которая заменяет первое вхождение подстроки -
функцию
plus,
которая объединяет строки