Фильтровать строки по условиям

Оставьте в списке только нужные строки или уберите лишние: содержит, не содержит, начинается с, заканчивается на, точное совпадение, регулярное выражение. Несколько условий с И/ИЛИ, учёт регистра, порядок строк сохраняется. Всё считается в браузере.

Условия

«Любое» — строка подходит хотя бы под одно правило, «все» — под каждое

Условия без значения в отборе не участвуют

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

Исходный текст

Результат

0 строк

Зачем фильтровать строки по условиям

Фильтр нужен там, где список слишком длинный, чтобы читать его целиком: выгрузка адресов, лог, список товаров, строки из таблицы. Задача всегда одна — оставить в нём то, что подходит под признак. Признак задают условием: часть текста, которой строка начинается, заканчивается или совпадает целиком.

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

Обратный отбор устроен флажком, а не вторым инструментом: «удалить совпадающие» — это тот же фильтр, вывернутый наизнанку. Порядок строк и переносы сохраняются, так что результат можно сразу вставлять в исходный файл. Ничего не отправляется на сервер: список обрабатывается в браузере, а результат копируется кнопкой или возвращается в поле ввода кнопкой «В исходник».

Частые вопросы

Как отфильтровать строки по нескольким условиям сразу?

Нажмите «Добавить условие» — появится вторая строка с типом совпадения и полем значения. Так можно собрать сколько угодно правил: например, «начинается с ivan» и «заканчивается на @example.com». Как именно они складываются, решает переключатель «Любое из условий / Все условия сразу».

Чем «Любое из условий» отличается от «Все условия сразу»?

«Любое из условий» — это ИЛИ: строка остаётся в списке, если подошла хотя бы под одно правило. Так перечисляют варианты: «содержит @mail.ru» или «содержит @gmail.com». «Все условия сразу» — это И: строка нужна, только если выполнены все правила разом. Так сужают выборку: домен один, а исключить из него надо служебные адреса.

Как оставить строки, в которых нет определённого текста?

Выберите тип «Не содержит» и напишите текст. Это не то же самое, что включить «Удалить совпадающие вместо сохранения»: при объединении через ИЛИ инверсия всего набора отбирает совсем другие строки. Если условия вам безразличны и нужно просто выбросить строки с текстом, а остальное оставить — используйте флажок внизу.

Как использовать регулярное выражение?

Выберите в типе условия «Регулярное выражение» и напишите шаблон на синтаксисе JavaScript. Например, \d+ оставит строки с числами, ^\S+$ — строки без пробелов, ^\d{4}-\d{2}-\d{2}$ — даты. Условие выполняется, если шаблон нашёл в строке хотя бы одно совпадение. Если выражение написано с ошибкой, шаблон подсветится красным, а список останется без изменений.

Почему «Кот» не находится, когда я ищу «кот»?

Включён флажок «Учитывать регистр»: «кот», «Кот» и «КОТ» — три разные строки, и совпадёт только точное написание. Флажок по умолчанию выключен, потому что при разборе списков регистр почти никогда не важен. В регулярных выражениях он превращается во флажок i и действует ровно так же.

Что делает «Удалить совпадающие вместо сохранения»?

Инструмент начинает работать наоборот: условия описывают не то, что оставить, а то, что выбросить. Подошла строка под условие — в результат она не попадает. Это половина задач про фильтры: «дай всё, кроме…». Чёрный список не надо выписывать по одной записи, достаточно правила.

Что будет с пустыми строками?

По умолчанию они в результат не попадают: пустая строка не содержит искомого текста, и при фильтре «содержит» она всё равно прошла бы в список пустым рядом. Если пустые строки нужно сохранить как часть структуры, включите «Сохранять пустые строки». Без флажка строки из одних пробелов уходят вместе с пустыми.

Порядок строк и переносы сохраняются?

Да. Инструмент не сортирует список и не переписывает переносы: строки остаются в исходном порядке, а файл с переносами Windows не превращается в Unix-файл. Если нужен алфавитный порядок, отсортируйте результат отдельным инструментом.

Данные отправляются на сервер?

Нет. Фильтрация выполняется целиком в браузере на JavaScript, текст никуда не передаётся и не сохраняется. Инструментом можно пользоваться офлайн.