Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как разбить текст на строки

Короткий ответ

Разбейте текст по символу перевода строки \n:

const text = 'first\nsecond\nthird';
 
console.log(text.split('\n'));

Результат:

[
  "first",
  "second",
  "third"
]

Окончания строк Windows

В текстах из файлов Windows строки заканчиваются на \r\n. Шаблон \r?\n подходит для обоих вариантов:

const text = 'first\r\nsecond\nthird';
const lines = text.split(/\r?\n/);
 
console.log(lines.length, JSON.stringify(lines[0]));

Результат:

3 "first"

Без пустых строк

Обрежьте пробелы в каждой строке и удалите пустые:

const text = `
  apples
 
  pears
`;
const lines = text.split('\n').map((line) => line.trim()).filter(Boolean);
 
console.log(lines.join(', '));

Результат:

apples, pears

Частая ошибка

Если текст заканчивается переводом строки, последний элемент — пустая строка:

console.log('a\nb\n'.split('\n').length);

Результат:

3

Функции из этого ответа

  • String.prototype.split — Разбивает строку на массив по разделителю.
  • String.prototype.trim — Удаляет пробельные символы с начала и конца строки.
  • Array.prototype.filter — Создаёт новый массив из элементов, прошедших проверку.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.