Метод lines
Метод lines разбивает исходную строку на отдельные строки и возвращает итератор, который позволяет перебрать эти строки по очереди. Метод не принимает никаких параметров и автоматически обрабатывает как одиночные символы переноса строки \n, так и комбинированные \r\n.
Синтаксис
str.lines()
Пример
Давайте разобьём строку "abcde\n12345" на отдельные строки и выведем их в цикле:
fn main()
{
let text = "abcde\n12345";
for line in text.lines()
{
println!("{}", line);
}
}
Результат выполнения кода:
abcde
12345
Пример
Давайте соберём все строки из итератора в вектор Vec для дальнейшей работы:
fn main()
{
let text = "abcde\n12345\nxyz";
let res: Vec<&str> = text.lines().collect();
println!("{:?}", res);
}
Результат выполнения кода:
["abcde", "12345", "xyz"]
Пример
Давайте подсчитаем количество строк в тексте с помощью метода count:
fn main()
{
let text = "abcde\n12345\nxyz";
let res = text.lines().count();
println!("{}", res);
}
Результат выполнения кода:
3
Смотрите также
-
метод
split,
который разбивает строку по заданному разделителю -
метод
split_whitespace,
который разбивает строку по пробельным символам -
метод
chars,
который возвращает итератор по символам строки -
метод
trim,
который удаляет пробельные символы с начала и конца строки