Функция deleteRange

Функция deleteRange удаляет подпоследовательность символов из объекта StringBuilder в заданном диапазоне индексов. Первый параметр startIndex - начальный индекс (включительно), второй параметр endIndex - конечный индекс (исключительно). После удаления оставшиеся символы сдвигаются влево.

Синтаксис

kotlinfun deleteRange(startIndex: Int, endIndex: Int): StringBuilder

Пример

Удалим символы с индекса 1 по индекс 3 из строки "abcde":

kotlinval sb = StringBuilder("abcde")
sb.deleteRange(1, 3)
println(sb)

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

kotlinString "ade"

Пример

Удалим все символы кроме первого и последнего:

kotlinval sb = StringBuilder("12345")
sb.deleteRange(1, 4)
println(sb)

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

kotlinString "15"

Пример

Если начальный и конечный индекс совпадают, ни один символ не будет удален:

kotlinval sb = StringBuilder("abcde")
sb.deleteRange(2, 2)
println(sb)

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

kotlinString "abcde"

Пример

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

kotlinval sb = StringBuilder("abcde")
val res = sb.deleteRange(1, 3).append("xyz")
println(res)

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

kotlinString "adexyz"

Исключения

Метод может выбрасывать исключение IndexOutOfBoundsException, если указаны недопустимые значения индексов:

kotlinval sb = StringBuilder("abcde")

try {
  sb.deleteRange(-1, 3)
} catch (e: IndexOutOfBoundsException) {
  println("Error: " + e.message)
}

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

kotlinError: start -1, end 3, length 5

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

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