Текст

Whitespace & Trim Tools

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

Extra whitespace — at line edges, doubled up inside text, blank lines, mixed tabs and spaces — is rarely visible at a glance, but it often breaks string comparisons, parsing, or how code looks. This tool cleans up such issues with a set of targeted operations.

How to use it

Common uses

Things to keep in mind

A non-breaking space ( , code point U+00A0) looks like a regular space but is a different character to a computer — strings containing it aren't equal to a regular space in comparisons.

Trimming line-edge whitespace doesn't touch spaces inside words or sentences — collapsing repeated internal spaces is a separate operation.

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

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

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

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

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

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

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

Нет, очистка полностью выполняется в вашем браузере на 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: почему «перевернуть текст» сложнее, чем кажется

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

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

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