Текст

Whitespace & Trim Tools

Очистка текста от лишних пробелов: обрезка краёв строк, схлопывание повторяющихся пробелов, удаление пустых строк, конвертация табуляций ↔ пробелов.

Лишние пробелы — на краях строки, удвоенные внутри текста, пустые строки, смешанные табы и пробелы — редко заметны визуально, но часто ломают сравнение строк, парсинг или вид кода. Инструмент убирает эти проблемы набором отдельных операций.

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

Типичные сценарии

Что стоит помнить

Non-breaking space ( , код U+00A0) выглядит как обычный пробел, но является другим символом для компьютера — строки с ним не равны обычному пробелу при сравнении.

Обрезка пробелов на краях строки не затрагивает пробелы внутри слов или предложений — для сжатия повторяющихся внутренних пробелов нужна отдельная операция сворачивания.

Статья об этом инструменте: Пробелы и невидимые символы: скрытая причина странных багов

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

Чем отличается обрезка краёв от схлопывания повторяющихся пробелов?

Обрезка краёв убирает только пробелы в начале и конце каждой строки, тогда как схлопывание повторяющихся пробелов заменяет несколько последовательных пробелов внутри строки на один, не затрагивая края.

Как обрабатываются пустые строки и конвертация табуляций/пробелов?

Вы можете полностью удалить пустые строки или только схлопнуть последовательные пустые строки в одну, а также конвертировать табуляции в пробелы или наоборот с настраиваемой шириной табуляции.

Отправляется ли вставленный текст на сервер?

Нет, очистка полностью выполняется в вашем браузере на JavaScript, никакие данные никуда не передаются.

Что такое символы нулевой ширины?

Это символы (zero-width space, zero-width joiner и другие), которые вообще не занимают места на экране, но присутствуют в тексте как отдельные символы. Они иногда попадают в текст при копировании с некоторых сайтов и могут незаметно сломать сравнение строк или поиск.

Почему non-breaking space выглядит как обычный пробел, но ведёт себя иначе?

Non-breaking space ( ) визуально идентичен обычному пробелу, но для компьютера это другой символ — строки с этими двумя видами пробела технически не равны при сравнении, даже если выглядят одинаково на экране.

Статьи: Текст

Case Converter: зачем нужны разные стили написания

Почему в одном проекте переменные пишут camelCase, а файлы — kebab-case, и откуда взялись эти правила.

Text Diff: как алгоритмы находят разницу между текстами

Как diff-алгоритм находит минимальный набор изменений между двумя версиями текста.

Регулярные выражения: основной синтаксис и типичные паттерны

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

Сортировка и удаление дубликатов строк: зачем это нужно

Почему числовая сортировка «10» перед «9» — это ошибка, и как этого избежать.

String Escape: почему один и тот же текст нужно экранировать по-разному

Почему один и тот же символ кавычки экранируется по-разному в JS-строке, JSON и shell-команде.

CRLF против LF: почему символы конца строки до сих пор важны

Почему файл, написанный в Windows, может показывать «изменён весь файл» в git на Linux.

Подсчёт символов и слов: почему это не всегда тривиально

Почему эмодзи или символы с диакритикой могут считаться как несколько символов сразу.

Lorem Ipsum: откуда взялся текст-заполнитель и зачем он нужен

Почему дизайнеры намеренно используют «бессмысленный» текст вместо реального контента в макетах.

Slugify: как превратить произвольный текст в URL-адрес

Как заголовок «Привет, Мир!» превращается в URL-совместимую строку вида privet-mir.

Markdown: почему простой текстовый синтаксис победил сложные редакторы

Почему разработчики выбирают писать документацию в Markdown, а не в форматированном текстовом редакторе.

Text Reverse: почему «перевернуть текст» сложнее, чем кажется

Почему наивный реверс строки может превратить эмодзи в непригодные для показа байты.

Частотный анализ текста: зачем считать повторения слов

Как частота букв в зашифрованном тексте помогает взломать простейшие шифры подстановки.