Бесплатный вебинар
«как найти любимую работу»
Подарки на 150 000 ₽ за участие
Живой эфир
Записи не будет!
00:00:00:00
дн.ч.мин.сек.

Добавление новых строк в строку Java: методы и примеры

Быстрый ответ

Чтобы вставить переносы строк в строку в Java, решение может выглядеть так: String.join(System.lineSeparator(), "Line1", "Line2", "Line3");. Этот метод универсален для любой платформы. Альтернативно можно использовать \n для Unix-подобных систем или \r\n для Windows:

Java
Скопировать код
String joinedLines = String.join(System.lineSeparator(), "Line1", "Line2", "Line3");
System.out.println(joinedLines); // Эффективный способ выполнить перенос строки!

В результате вывод будет следующим:

Line1
Line2
Line3
Кинга Идем в IT: пошаговый план для смены профессии

Правильное форматирование вывода с помощью String.format

Для форматирования многострочных текстов лучше всего использовать String.format. Этот метод позволяет вставлять системо-зависимый символ переноса строки, %n:

Java
Скопировать код
String formatted = String.format("Line1%nLine2%nLine3");
System.out.println(formatted); // Отлично отформатированный текст!

Замена пробелов на переводы строк

Для замены пробелов в тексте на переносы строк используется метод String.replaceAll:

Java
Скопировать код
String singleLine = "Hello World Programming"; // это одна строка, но мы хотим разделить её на несколько
String multipleLines = singleLine.replaceAll(" ", System.lineSeparator());
System.out.println(multipleLines); // Создаём поэзию на ходу!

Построчный вывод слов: System.out.println

Если необходимо выводить каждое слово в новой строке, применяют System.out.println:

Java
Скопировать код
String[] words = {"Hello", "World", "Programming"}; // Здесь мы идём навстречу звёздам!

for(String word : words) {
    System.out.println(word); // Дадим каждому слову полностью раскрыться!
}

Визуализация

Вставка символов переноса строки выглядит как выделение отдельного места для каждого сегмента предложения:

Без переноса строки:

Markdown
Скопировать код
Предложение: "Сегмент1Сегмент2Сегмент3"

С использованием переносов строк:

Java
Скопировать код
String withNewlines = "Сегмент1\nСегмент2\nСегмент3";

Каждый сегмент теперь располагается в своей строке:

Сегмент1
Сегмент2
Сегмент3

Обеспечение работоспособности на разных ОС: Переносы строк, специфические для каждой платформы

В различных операционных системах используется разный тип переноса строки:

  • \n для Unix/Linux/MacOS
  • \r\n для Windows

Для мультиплатформенных приложений рекомендуется использовать System.lineSeparator().

Соединение строк с добавлением переносов строк

Можно создать многострочный текст, объединяя строки и вставляя между ними символы переноса:

Java
Скопировать код
String concatWithNewline = "Line1" + System.lineSeparator() + "Line2" + System.lineSeparator() + "Line3";
System.out.println(concatWithNewline); // Задача решена! Каждая строка – отдельная единица!

Полезные материалы

  1. String (Java Platform SE 8 ) — Официальная документация Java на класс String.
  2. PrintStream (Java Platform SE 8 ) — Информация о классе PrintStream.
  3. java – How do I get a platform-independent new line character? – Stack Overflow — Обсуждение переносов строк, независимых от платформ, на Stack Overflow.
  4. Java String Format Examples: 2021 Edition – DZone — Примеры форматирования строк в Java.
  5. StringUtils (Apache Commons Lang 3.14.0 API) — Функциональные возможности класса StringUtils для работы со строками.
  6. Урок: Регулярные выражения (Учебники по Java™ > Основные классы Java) — О работе с регулярными выражениями в Java, включая вопросы добавления переносов строк.
Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей
Какой метод рекомендуется использовать для вставки переносов строк, независимых от платформы?
1 / 5
Свежие материалы