ToolActToolAct

Инструмент удаления переносов строк

Быстро удаляйте переносы строк из текста с несколькими режимами обработки

Ввод
Символов: 0
Строк: 0
Результат
Символов: 0
Строк: 0

Выберите режим обработки

Что такое удаление переносов строк?

Удаление переносов строк — это процесс обработки или удаления символов переноса строки (\n, \r\n) в тексте. Частое использование включает: объединение нескольких строк в одну, очистка лишних пустых строк, замена переносов на пробелы и т.д. Полезно для минификации кода, форматирования текста, очистки данных и других сценариев. При удалении переносов строк важно понимать, нужно ли соединять абзацы пробелами или склеивать напрямую. CSV-фрагменты, логи, скопированные статьи, prompts, куски кода и текст форм требуют разных правил. Слепое удаление переносов может склеить слова, разрушить списки, изменить смысл или сделать структурированные данные трудными для чтения. Перед отправкой важного текста стоит сравнить результат с оригиналом и решить, сохранять ли пустые строки, отступы и границы абзацев.

Как использовать

Как использовать

  1. Введите или вставьте текст для обработки в левое поле ввода
  2. Выберите режим обработки (Удалить все переносы, Переносы в пробелы и т. д.)
  3. Результат автоматически появится справа с предпросмотром в реальном времени
  4. Нажмите «Копировать», чтобы скопировать результат, или «Поменять местами», чтобы использовать результат как входные данные для дальнейшей обработки

Советы по очистке текста

  • Выбирайте режим «Переносы в пробелы», когда слова должны оставаться разделёнными; удаление всех переносов может случайно склеить слова или поля.
  • Для структурированных данных, таких как CSV, код или адреса, предварительно просмотрите результат перед копированием, так как переносы строк могут нести смысловую нагрузку.

Применение

Сворачивание скопированного текста в одну строкуИспользуйте режим полного удаления, когда вставленный текст из PDF, электронной почты, терминала или перенесённых веб-страниц должен стать непрерывной строкой. Счётчики символов и строк по обе стороны позволяют легко проверить трансформацию. Результат — однострочный блок, который аккуратно вставляется в JSON-строку, SQL VALUES или значение .env.
Замена переносов строк на пробелыРежим замены на пробелы сохраняет разделение слов, убирая жёсткие переносы, — полезно для абзацев из узких колонок, переведённого текста, CSV-заметок или промптов, которые должны стать одним читаемым абзацем. Вывод сохраняет пунктуацию и заглавные буквы, а граница переноса становится одним пробелом.
Очистка пустых строк без разрушения структурыРежим удаления пустых строк удаляет только пустые строки, а режим объединения нормализует повторные переносы в один. Эти режимы удобны для приведения в порядок списков, логов, планов и вставленных заметок, где структура строк всё ещё важна. Выбирайте объединение, когда расстояние между абзацами несёт смысл, и удаление, когда важно только содержимое.
Нормализация переносов CRLF, LF и CRКогда текст поступает из Windows, macOS или старых источников, переключите режим, который обрабатывает только возврат каретки или перевод строки. Regex \r?\n\s* за один проход аккуратно обрабатывает смешанные CRLF (Windows), LF (Unix/Linux) и одиночные CR (старый Mac). Это позволяет не трогать случайные пробелы внутри абзацев и при этом исправлять смешанные окончания, которые ломают shell-скрипты, git diff или таблицы Markdown.
Вставка в JSON-строки, SQL VALUES и env-файлыСверните заметки перед вставкой в JSON-литерал, SQL VALUES или .env-запись, где сырые переносы сломают разбор. Счётчики символов и строк на обеих панелях помогают убедиться, что результат — одна чистая строка, после чего её можно экранировать или обернуть кавычками в соответствии с целевым форматом. Тот же плоский результат можно переформатировать с экранированием \n для JSON или оставить буквальным для инструментов, принимающих многострочный ввод.

Технический принцип

Каждый режим — это один вызов String.prototype.replace с глобальным регулярным выражением. Режим «Удалить все» использует /[\r\n]+/g и заменяет совпадения пустой строкой; «Переносы в пробелы» использует /[\r\n]+/g и заменяет на одиночный пробел ' '; «Объединить пустые» использует /(\r?\n){2,}/g и заменяет на '\n\n', чтобы свернуть три и более переносов в одну пустую строку; «Удалить пустые» разбивает по /\r?\n/, отфильтровывает пустые после trim элементы и склеивает обратно через '\n'. Форма символьного класса [\r\n] выбрана намеренно, поскольку три классических окончания строк — CRLF (\r\n, Windows начиная с DOS), LF (\n, Unix и современные macOS) и одиночный CR (\r, классическая Mac OS до System 9) — должны обрабатываться даже вперемешку в одном файле (частый артефакт копирования между платформами или редактирования Unix-файла в Блокноте). Существуют два дополнительных юникодных разрыва строки, но на практике они редки: U+2028 LINE SEPARATOR и U+2029 PARAGRAPH SEPARATOR, определённые алгоритмом Unicode UAX #14 и распознаваемые строковыми литералами JavaScript начиная с ES2019. Инструмент в настоящее время treats их как обычные символы, что соответствует ожиданиям большинства пользователей при вставке из мессенджера. BOM (U+FEFF) в начале UTF-8 файла также передаётся без изменений — удалите его отдельно, если парсер-получатель строгий. Обновление в реальном времени обеспечивается парой React useState/useMemo: управляемый textarea записывает ввод, мемо пересчитывает результат при каждом нажатии клавиши, а механизм согласования React перерисовывает только панель вывода. Поскольку замена по регулярному выражению на строках размером в несколько сотен КБ выполняется менее чем за миллисекунду на современном V8, debounce не требуется; для ввода размером в несколько мегабайт стоимость всё равно значительно укладывается в бюджет кадра 16 мс при 60 Гц.

  • Удалить все: text.replace(/[\r\n]+/g, '') — сворачивает последовательности переносов в ничто, подходит для строковых литералов JSON и значений .env
  • Переносы в пробелы: text.replace(/[\r\n]+/g, ' ') — сохраняет границы слов из перенесённых абзацев без удвоения пробелов
  • Объединить пустые: text.replace(/(\r?\n){2,}/g, '\n\n') — сворачивает последовательности пустых строк до одной, сохраняя ритм абзацев
  • Удалить пустые: split(/\r?\n/).filter(l => l.trim() !== '').join('\n') — сохраняет строки с содержимым и нормализует окончания в LF за один проход
  • Зоопарк окончаний строк: CRLF (Windows \r\n, изначально возврат каретки + перевод строки на пишущей машинке), LF (Unix \n с 1970-х), CR (классическая Mac до System 9) — символьный класс [\r\n] ловит все три варианта; Unicode U+2028 и U+2029 из UAX #14 распознаются строковыми литералами ES2019, но редки во вводе пользователей
  • BOM (U+FEFF) в начале файла оставляется без изменений — удалите его через text.replace(/^\uFEFF/, '') если следующий этап — строгий парсер JSON или CSV
  • Git core.autocrlf=true нормализует CRLF↔LF при checkout — используйте этот инструмент, когда файл уже попал на вашу машину с неправильными окончаниями, а Git не исправил их

Примеры

Очистка текста, скопированного из PDF

Исходный: Thi s is
from PDF
copied
content
После: ThisisfromPDFcopiedcontent

Пример сжатия кода

Исходный: function hello() {
  return 'world';
}
Сжатый: function hello(){return 'world';}

Форматирование абзацев статьи

Удаление лишних пустых строк с сохранением межабзацных отступов для аккуратного и единообразного оформления статьи

Часто задаваемые вопросы

Какие переводы строк удаляются?

Все три варианта концов строк: LF (\n, Unix/macOS), CRLF (\r\n, Windows) и CR (\r, классический Mac). На выходе получается одна строка. Дополнительно можно убрать или нормализовать табы, повторяющиеся пробелы и другие пробельные символы.

Сохранится ли разделение на абзацы?

Включите «заменять на один пробел», и каждый перевод строки превратится в пробел. Включите «удалять полностью», и текст склеится без вставок. Для текста с пустыми строками между абзацами есть отдельный режим: сохранять разрывы абзацев (один перевод строки) и убирать только переносы внутри них — удобно при «разворачивании» скопированного из PDF.

Почему в скопированном тексте остаются видимые разрывы, которые не убираются?

Скорее всего, это мягкие переводы строк или невидимые разделители вроде U+2028 (LINE SEPARATOR) или U+0085 (NEL). Включите «удалять все пробельные разделители» (вариант, учитывающий Unicode) вместо обычного удаления переводов строк. Иногда копии из PDF содержат и пробелы нулевой ширины — тогда поможет «удалить невидимые символы».

Чем это отличается от объединения строк в коде?

Это одно и то же действие, просто визуальное. Страница делает то же, что `text.replace(/\r?\n/g, ' ').trim()` в JavaScript. Если вы пишете скрипт — делайте это в коде; если разово чистите вставленный текст — делайте здесь.

Удалит ли инструмент пробелы в конце строк и двойные пробелы?

Да, если включить «схлопывать повторяющиеся пробелы» — пригодится, когда в исходнике пробелами выравнивали столбцы. Пробелы в конце каждой строки удаляются перед склейкой строк.

Работает ли инструмент с CJK-текстом?

Да. Переводы строк вокруг китайских и японских иероглифов по умолчанию убираются без вставки западных пробелов — в восточноазиатской пунктуации между иероглифами пробелов нет. Если в тексте смешаны английский и CJK, включите «сохранять межсловные пробелы».

Загружается ли мой текст?

Нет. Замена выполняется в вашем браузере. Вставленный текст никуда не передаётся.

Связанные инструменты

Инструмент дедупликации текста

Бесплатный онлайн-инструмент для удаления дубликатов текста с режимами по строкам, словам, предложениям и абзацам. Удаляйте дубликаты с опциями регистра и порядка.

Инструмент подсчета слов

Бесплатный онлайн-счётчик символов, слов, абзацев и времени чтения в реальном времени. Незаменимый помощник при написании статей, эссе и постов для соцсетей.

Конвертер регистра

Бесплатный онлайн-конвертер регистра: camelCase, snake_case, kebab-case, CONSTANT и другие форматы. Незаменим для разработчиков при переименовании переменных.

Инструмент реверса строки

Бесплатный онлайн-инструмент для разворота строки: целиком, по словам или по строкам. Удобная обработка текста для самых разных задач прямо в браузере.

Инструмент тестирования регулярных выражений

Бесплатный онлайн-тестер регулярных выражений с мгновенным сопоставлением и подсветкой совпадений. Отлаживайте и проверяйте regex на ваших примерах.

Инструмент сравнения текста

Бесплатный онлайн-инструмент для сравнения текста с подсветкой различий. Построчное сравнение помогает быстро найти изменённые фрагменты.