РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
194 of 1245 menu

Метод split_off

Метод split_off разделяет строку String на две части по указанному индексу. Исходная строка сохраняет свою левую часть (от начала до позиции), а правая часть (от позиции до конца) возвращается как новый объект String. Параметром метод принимает индекс, по которому нужно выполнить разделение. Индекс указывается в байтах и должен находиться на границе символа UTF-8, иначе программа завершится с паникой.

Синтаксис

string.split_off(at)

Пример

Давайте разделим строку "abcde" по индексу 2 и выведем обе части:

fn main() { let mut s = String::from("abcde"); let tail = s.split_off(2); println!("s: {}", s); println!("tail: {}", tail); }

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

s: ab tail: cde

Пример

Давайте разделим строку "12345" по индексу 0. В этом случае исходная строка станет пустой, а возвращённая получит всё содержимое:

fn main() { let mut s = String::from("12345"); let tail = s.split_off(0); println!("s: {:?}", s); println!("tail: {}", tail); }

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

s: "" tail: 12345

Пример

Давайте разделим строку "abcde" по индексу, равному длине строки. В этом случае исходная строка останется неизменной, а возвращённая будет пустой:

fn main() { let mut s = String::from("abcde"); let tail = s.split_off(5); println!("s: {}", s); println!("tail: {:?}", tail); }

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

s: abcde tail: ""

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

  • класс String,
    который представляет собой изменяемую строку
  • метод truncate,
    который обрезает строку до указанной длины
  • метод drain,
    который удаляет диапазон символов из строки
  • метод replace_range,
    который заменяет диапазон символов в строке
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить