Фильтр строк списка

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

Условие

Прошли0 строк

Отсеяны0 строк

Условия фильтра на примерах

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

УсловиеПримерЧто пройдёт
Содержиткупить, ценастроки с любым из слов: «купить диван», «цена дивана»
Целые словапере«пере» отдельно; «перевозка» не пройдёт
Начинается сhttps://только полные адреса со схемой
Заканчивается на.pdfимена файлов PDF
Равномосквастрока целиком «москва», с учётом регистра по галочке
Регулярное выражение^\+7\d{10}$телефоны из одиннадцати цифр с плюсом
Длинаот 2 до 60 символовзаголовки, влезающие в сниппет
Есть латиницабез параметровстроки с английскими буквами: бренды, домены, коды

Как список делится на две колонки

Условие делит список на две колонки, ничего не теряется купить дивандиван буцена диванадиван своими рукамискачать чертёж диванакупить диван недорого 6 строк на входе содержит любое избу, своими руками, скачать Прошли (режим «убрать»): 3 купить диванцена диванакупить диван недорого Отсеяны: 3 диван будиван своими рукамискачать чертёж дивана режим «оставить» меняет колонки местами: подходящие строки уходят влево, остальные вправо

Что умеет фильтр строк

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

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

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

Мука просеивается через кухонное сито
Сито: нужное проходит, лишнее остаётся — фильтр строк делает то же со списком. Фото: IgorCalzone1, CC BY-SA 4.0.
ЗадачаУсловиеРежим
Убрать минус-слова из ядрасодержит: бесплатно, скачать, буубрать
Оставить только адреса со схемойначинается с https://оставить
Найти телефоны в куче строкрегулярное выражение ^\+7\d{10}$оставить
Отделить английские строкиесть латиницаоставить, вторая колонка даст русские
Сортировальная машина IBM для перфокарт
Сортировщик перфокарт IBM Type 80: карты падали в карманы по значению колонки — фильтр из 1925 года. Фото: Викисклад, CC0.

От сита до grep

Отбирать нужное из массы — операция древнее письменности: сито отделяло муку от отрубей, а старатель промывал породу лотком, оставляя тяжёлое золото. С появлением картотек фильтром стал человек с пачкой карточек, и в 1925 году IBM выпустила сортировальную машину Type 80: перфокарты шли через щётку, и по пробитой позиции каждая падала в свой карман — тринадцать карманов, четыреста карт в минуту.

В программировании фильтр появился как команда grep в Unix 1973 года: Кен Томпсон вынес поиск по регулярному выражению из редактора в отдельную утилиту, и её имя происходит от команды редактора g/re/p — «глобально найти по регулярному выражению и напечатать». Ключ -v инвертировал условие, и с тех пор любая фильтрация строк описывается парой «оставить или убрать».

Регулярные выражения, придуманные математиком Стивеном Клини в 1951 году для описания нейронных сетей, через Unix попали во все языки, а из них в почтовые фильтры, рекламные кабинеты и текстовые редакторы. Инструмент даёт тот же grep с режимом -v в браузере, добавляя простые условия для тех, кому выражение писать не хочется.

Промывка золота лотком
Промывка золота лотком: из массы породы остаётся то, что прошло отбор. Фото: Викисклад, общественное достояние.
Стопка перфокарт
Перфокарты: сортировка по пробитой позиции была первым машинным фильтром. Фото: ArnoldReinhold, CC BY-SA 3.0.
Список телефонов
Список телефонов: фильтр по «только цифры» отделяет номера от прочих строк. Фото: © 2010 by Tomasz Sienicki [user: tsca, m, CC BY 3.0.

Как отфильтровать список

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

Уточните отбор галочками: «учитывать регистр» для точного совпадения, «целые слова» для условия «содержит», «оставлять пустые строки», если пустые строки несут смысл. При ошибке в регулярном выражении под условием появится подсказка, и фильтр покажет список целиком до исправления.

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

Фильтр удобно ставить в цепочку с соседними инструментами раздела: сначала «Удаление дубликатов», затем отбор по условию, затем «Сортировка списка» или «Подсчёт и частотность». Для семантического ядра типичный порядок такой: убрать строки с минус-словами, оставить фразы от двух до четырёх слов, отсеять латиницу отдельной колонкой и посмотреть, что в ней осталось.

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

  1. По одной строке на элемент: ключевые слова, адреса, товары, фамилии, строки лога. Пустые строки по умолчанию убираются, галочка их возвращает.
  2. «Содержит» принимает несколько слов через запятую или с новой строки — подойдёт любое. «Начинается», «заканчивается» и «равно» точные, «регулярное выражение» — для сложных шаблонов, «длина» и «число слов» — числовые границы. Есть готовые условия: только цифры, есть латиница, есть кириллица, есть цифры.
  3. «Оставить» кладёт подходящие строки в левую колонку, «Убрать» — в правую; вторая колонка в обоих случаях показывает остаток, так что ничего не пропадает. Регистр и целые слова включаются галочками.
  4. У каждой колонки свои кнопки: копировать и скачать .txt. Счётчики над колонками показывают, сколько строк прошло и сколько отсеяно; условие можно менять, результат пересчитывается на лету.

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

Как удалить строки, содержащие определённое слово

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

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

«Найти и заменить» правит текст внутри строки, а фильтр решает судьбу строки целиком: оставить или убрать. Для чистки семантического ядра нужны оба: сначала фильтром убрать строки с минус-словами, потом заменой поправить написание.

Как работает регулярное выражение

Синтаксис JavaScript: точка — любой символ, скобки — группа, вертикальная черта — «или», ^ и $ — начало и конец строки, \d — цифра. Пример: ^\+7\d{10}$ оставит только телефоны из одиннадцати цифр с плюсом. Флаг регистра берётся из галочки; ошибка в выражении подсвечивается, и фильтр не применяется, пока её не исправить.

Можно ли отфильтровать по длине

Да: условие «длина» принимает границы «от» и «до» в символах, «число слов» — то же для слов. Так отбирают ключевые фразы из двух-трёх слов, заголовки до 60 знаков или описания длиннее 160.

Что делают готовые условия

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

Сколько строк можно обработать

Сотни тысяч строк фильтруются за доли секунды, всё считается в браузере. На экране показываются первые тысячи строк каждой колонки, копирование и скачивание отдают всё.

Куда уходит список

Никуда: разбор идёт на вашем устройстве, ничего не отправляется и не сохраняется.

Похожие инструменты

ФИО в столбцы и инициалы

Список ФИО одной колонкой превращается в таблицу: фамилия, имя, отчество, пол по отчеству или по справочнику имён, инициалы «Иванов И. И.», «И. И. Иванов», «Иванов И.». Обратный порядок слов и регистр исправляются, сортировка, дубли, XLSX.

Открыть
Разделить список

Разбить на группы по N строк или на N равных частей. Бить семантику на пакеты.

Открыть
Подсчёт и частотность

Сколько строк всего, уникальных и как часто повторяется каждая. Сортировка по частоте.

Открыть
Обернуть строки

Добавляет кавычки, скобки или теги вокруг каждой строки и соединяет разделителем — готовый SQL IN(...), массив, <li>.

Открыть
Нумерация строк

Нумерует строки списка: точкой, скобкой или пробелом, с ведущими нулями. Для оформления списков, ТЗ и нумерованных перечней.

Открыть
Форматирование телефонов

Приводит список номеров к одному виду: +7 (999) 123-45-67, E.164, только цифры и хеши MD5 и SHA-256. Убирает дубли, отбраковывает битые.

Открыть

Ещё инструменты для списков

Удаление дубликатов и сравнение двух списков, сортировка, столбец в строку и обратно, нумерация, частотность и шаблонизатор — в разделе 24 инструмента.