Как разбить текст на строки
Короткий ответ
Разбейте текст по символу перевода строки \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 — Создаёт новый массив из элементов, прошедших проверку.