Метод lines
Метод lines возвращает поток строк Stream<String>,
который содержит строки исходной строки, разделённые
символами перевода строки. Метод не принимает параметров.
Разделителями считаются \n, \r и \r\n.
Сама строка при этом не изменяется. Метод удобен для
построчной обработки многострочного текста.
Синтаксис
str.lines()
Пример
Давайте разобьём строку с несколькими строками на поток строк и выведем каждую строку на экран:
import java.util.stream.Stream;
public class Main
{
public static void main(String[] args)
{
String str = "abcde\n12345\nqwerty";
Stream<String> res = str.lines();
res.forEach(System.out::println);
}
}
Результат выполнения кода:
"abcde"
"12345"
"qwerty"
Пример
Давайте подсчитаем количество строк в многострочной строке:
public class Main
{
public static void main(String[] args)
{
String str = "abcde\n12345\nqwerty";
long res = str.lines().count();
System.out.println(res);
}
}
Результат выполнения кода:
3
Пример
Давайте соберём все строки в одну через запятую:
import java.util.stream.Collectors;
public class Main
{
public static void main(String[] args)
{
String str = "abcde\n12345\nqwerty";
String res = str.lines().collect(Collectors.joining(", "));
System.out.println(res);
}
}
Результат выполнения кода:
"abcde, 12345, qwerty"
Смотрите также
-
метод
split,
который разбивает строку на массив строк -
метод
stripIndent,
который удаляет общие отступы в строках -
метод
indent,
который добавляет отступы к строкам -
метод
isBlank,
который проверяет, является ли строка пустой