Результат
У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.
Факты и границы применимости
| Обрезка пробелов | Убирает пробелы и табуляции в начале и конце каждой строки; пробелы внутри строки не трогает |
|---|---|
| Пустая строка | Строка, которая после обрезки пробелов становится пустой — в том числе строка из одних пробелов |
| Поиск дубликатов | Без учёта регистра: «Alice@example.com» и «alice@example.com» считаются одной и той же строкой |
| Что остаётся | Сохраняется первое вхождение повторяющейся строки, последующие удаляются |
| Порядок обработки | Обрезка пробелов → удаление пустых строк → удаление дубликатов, если включены все три переключателя |
| Переносы строк | Распознаются оба варианта переноса строки: \n и \r\n |
Когда этот метод вводит в заблуждение
- Поиск дубликатов сравнивает строки целиком, а не отдельные поля — две строки, различающиеся только комментарием в конце или лишним столбцом, дубликатами не считаются.
- Сравнение без учёта регистра использует простое приведение к нижнему регистру; языковые правила регистра не применяются, поэтому отдельные буквы с диакритикой или специальные символы иногда всё же считаются разными.
- Обрезка пробелов убирает их только по краям строки. Повторяющиеся пробелы внутри строки («Иван Иванов») остаются как есть — для этого используйте «Поиск и замена».
- Все три переключателя всегда работают в одном порядке — сначала обрезка пробелов, затем пустые строки, затем дубликаты. Если нужен только один шаг, отключите два других перед копированием результата.
Как это считается
Каждая строка входного текста обрабатывается независимо — список сначала разбивается по переносам строк, а затем выполняются шаги очистки.
Если обрезка пробелов включена, у каждой строки сначала убираются пробелы по краям, и уже после этого выполняются проверки на пустоту и повтор — поэтому « foo» и «foo » становятся одинаковыми для дальнейших шагов.
Удаление дубликатов сохраняет первую встретившуюся строку для каждого ключа в нижнем регистре и отбрасывает все последующие строки с тем же ключом, поэтому оставшиеся строки сохраняют исходный порядок.
«Строк до очистки» считает строки сразу после разбиения входного текста; «строк после очистки» считает, что осталось после применения выбранных операций — так видно, насколько сократился список.
Вопросы и ответы
Что выполняется раньше — удаление дубликатов или обрезка пробелов?
Сначала выполняется обрезка пробелов, затем удаляются пустые строки, затем дубликаты — поэтому « foo» и «foo » распознаются как один и тот же дубликат, если обрезка пробелов включена.
Поиск дубликатов учитывает регистр?
Нет, он всегда без учёта регистра: «Тест» и «тест» считаются дубликатами, и сохраняется только первый вариант.
Можно ли сохранить исходный порядок списка?
Да. Инструмент никогда не сортирует список — он только удаляет строки, поэтому порядок оставшихся строк совпадает с исходным.
Что считается пустой строкой?
Строка из нуля символов, либо строка, которая становится нулевой длины после обрезки пробелов — например, строка из одних пробелов или табуляций.
Мой список куда-то загружается?
Нет. Всё выполняется в вашем браузере; вставленный список никогда не отправляется на сервер.