Метод split_at_mut
Метод split_at_mut разделяет изменяемую строку
на две части по указанному индексу. Параметром метод
принимает индекс, по которому нужно разделить строку.
Возвращает метод кортеж из двух изменяемых срезов:
первый содержит символы до указанного индекса,
а второй - символы начиная с указанного индекса.
Индекс должен находиться на границе символов UTF-8,
иначе произойдёт паника.
Синтаксис
str.split_at_mut(mid)
Пример
Давайте разделим строку "abcde" по индексу 2
и выведем обе полученные части:
fn main()
{
let mut s = String::from("abcde");
let (left, right) = s.split_at_mut(2);
println!("{}", left);
println!("{}", right);
}
Результат выполнения кода:
"ab"
"cde"
Пример
Давайте изменим первую часть строки, полученную
с помощью метода split_at_mut:
fn main()
{
let mut s = String::from("abcde");
let (left, right) = s.split_at_mut(2);
left.make_ascii_uppercase();
println!("{}", left);
println!("{}", right);
}
Результат выполнения кода:
"AB"
"cde"
Пример
Давайте разделим строку "12345" по индексу 0
и выведем обе полученные части:
fn main()
{
let mut s = String::from("12345");
let (left, right) = s.split_at_mut(0);
println!("{}", left);
println!("{}", right);
}
Результат выполнения кода:
""
"12345"
Смотрите также
-
метод
split_at,
который разделяет строку на две неизменяемые части -
метод
split,
который разбивает строку по разделителю -
метод
get_mut,
который возвращает изменяемый срез по диапазону -
метод
as_bytes_mut,
который возвращает изменяемый срез байтов строки