Функция replace

Функция replace заменяет подстроку в указанном диапазоне на новую строку. Принимает три параметра: начальный индекс, конечный индекс и строку для замены. Замена происходит с начального индекса включительно по конечный индекс исключительно.

Синтаксис

kotlinfun replace(
  startIndex: Int,
  endIndex: Int,
  str: String
): StringBuilder

Пример

Заменим часть строки с индекса 1 по индекс 4 на строку "XYZ":

kotlinval sb = StringBuilder("abcde")
sb.replace(1, 4, "XYZ")
println(sb.toString())

Результат выполнения кода:

kotlinString "aXYZe"

Пример

Замена с использованием индексов за пределами строки вызовет исключение IndexOutOfBoundsException:

kotlinval sb = StringBuilder("abcde")

try {
  sb.replace(10, 15, "XYZ")
} catch (e: IndexOutOfBoundsException) {
  println("Error: ${e.message}")
}

Результат выполнения кода:

kotlinError: start 10, end 15, length 5

Пример

Замена пустой строкой эквивалентна удалению символов:

kotlinval sb = StringBuilder("abcde")
sb.replace(1, 4, "")
println(sb.toString())

Результат выполнения кода:

kotlinString "ae"

Пример

Функция возвращает тот же объект StringBuilder, что позволяет использовать цепочку вызовов:

kotlinval sb = StringBuilder("abcde")
val result = sb.replace(1, 3, "123")
  .append("!")
  .toString()
println(result)

Результат выполнения кода:

kotlinString "a123de!"

Смотрите также

  • функцию insert,
    которая вставляет строку в указанную позицию
  • функцию delete,
    которая удаляет символы в указанном диапазоне
  • функцию deleteRange,
    которая удаляет символы в указанном диапазоне
  • функцию setCharAt,
    которая заменяет один символ в указанной позиции