Метод split_terminator
Метод split_terminator разбивает строку на подстроки
по указанному разделителю и возвращает итератор.
В отличие от метода split, он не создаёт пустой
элемент в конце строки, если строка заканчивается
разделителем. Параметром метод принимает разделитель,
по которому нужно разбить строку.
Синтаксис
str.split_terminator(pat)
Пример
Давайте разобьём строку "abcde," по разделителю
"," и соберём результат в вектор:
fn main()
{
let res: Vec<&str> = "abcde,".split_terminator(",").collect();
println!("{:?}", res);
}
Результат выполнения кода:
["abcde"]
Обратите внимание: метод split на этой же строке
вернул бы ["abcde", ""], а split_terminator
не создаёт пустой элемент в конце.
Пример
Давайте разобьём строку "1,2,3,4,5" по разделителю
"," и соберём результат в вектор:
fn main()
{
let res: Vec<&str> = "1,2,3,4,5".split_terminator(",").collect();
println!("{:?}", res);
}
Результат выполнения кода:
["1", "2", "3", "4", "5"]
Так как строка не заканчивается разделителем,
результат совпадает с поведением метода split.
Пример
Давайте разобьём строку "abcde,,," по разделителю
"," и соберём результат в вектор:
fn main()
{
let res: Vec<&str> = "abcde,,,".split_terminator(",").collect();
println!("{:?}", res);
}
Результат выполнения кода:
["abcde", "", "", ""]
Убирается только один завершающий пустой элемент, промежуточные пустые элементы сохраняются.
Смотрите также
-
метод
split,
который разбивает строку по разделителю, включая пустой элемент в конце -
метод
split_inclusive,
который разбивает строку, сохраняя разделитель в конце подстрок -
метод
split_whitespace,
который разбивает строку по пробельным символам -
метод
splitn,
который разбивает строку на ограниченное число подстрок