От многих слов яснее не становится. Фильтры, опять фильтры. Давайте, наконец, что-нибудь сделаем и посмотрим: как же это работает? На примере получится нагляднее.

Запускаем программу. В открытой программе у нас есть вкладка Trial Run Area (Пробная область). Это – область заполненная текстом. Вкладка – вещь весьма удобная. Иногда, в случае необходимости обработки единичного файла, я копирую его текст в окно, заменяя пробный, обрабатываю прямо тут же и получаю готовый результат.

В качестве первого примера посмотрим как можно использовать программу для извлечения из HTML текста гипертекстовых ссылок. Скопируем туда страницу на которой есть гипертекстовые ссылки.

В данном случае я использовал главную страницу Яндекса (http://yandex.ru) взяв ее исходный код. Клавиши Crtl+U в браузере позволяют открыть страницу с исходным кодом, затем Ctrl+A, Ctrl+C и Ctrl+V копируем код в пробную область. Переходим на вкладку Filters To Apply. В левом окне программы в папках сгруппированы фильтры. Открываем папку Extract и дважды кликаем на Extract URLs добавляя его в список используемых фильтров. Далее нажимаем кнопку Process Trial Run Text или клавишу F5 и смотрим результат.

У меня получилось извлечь 177 адресов. Адреса ведут как на ресурсы самого Яндекса так и на другие сайты. Слегка усложним задачу. Попробуем получим список адресов, не имеющих отношения к Яндексу. Очевидно, что в этом случае в адресе не будет слова yandex. В этой же папке фильтров находим фильтр Extract lines non-matching (inverse grep) (Извлечь несовпадающие строки) и вписываем слово yandex. Запускаем программу и в итоге получаем список из 9 адресов, которые действительно ведут за пределы Яндекса. Вместо фильтра Extract lines non-matching (inverse grep) можно использовать фильтр Remove Matching Lines (Удалить строки с совпадением). Он находится в папке фильтров Remove и подпапке Remove Lines. Дважды кликаем на него, добавляя в список фильтров. В окне фильтра также пишем yandex.

На данный момент у нас задействованы 3 фильтра. Хотя два последних фактически делают одно и то же. Дважды кликаем на фильтре Extract lines non-matching. Это вызывает появление символа перечеркивания на нем и означает, что в обработке он использоваться не будет. Запускаем программу и опять получаем 9 адресов. Вывод: для получения итогового результата иногда можно использовать разные фильтры. Вы можете поиграть с этим фильтром добавляя свои страницы со с сылками.

Фильтры работают последовательно: вначале на всех файлах отрабатывает первый фильтр, затем второй и так далее по порядку до последнего. Двойной клик на фильтре в списке всех фильтров слева вызывает его активацию. Он будет участвовать в процессе обработки текста! Двойной клик на фильтре в MyList Filter (Мой список фильтров) в центральной колонке) вызывает его запрет на обработку текста. Но в списке он сохранится, и его всегда можно активировать. Это удобно, когда надо отладить работу фильтров. Активируя и запрещая фильтры, следя при этом за получаемыми данными, мы можем последовательно продвигаться к правильному результату.

Рассмотрим процедуру обработки текста фильтрами подробнее! Это очень важно тем более, что именно это часто вызывает непонимание. Фильтры работают последовательно друг за другом, в том порядке в каком они стоят в списке.

Важно! Если первый фильтр как-то изменяет текст, то следующий фильтр работает с измененным текстом, а не с оригинальным!

Рассмотрим это на примере.

Добавим наш первый фильтр. Находим в списке фильтров слева папку Add (Добавить) и в ней фильтр Add Left Margin (Добавить левую границу). Двойной клик на нем вызовет его появление в списке используемых фильтров My Filters List. В поле Text To Insert (Текст для вставки) пишем $$$.

 

Результат показан на рисунке 3-1. Опять смотрим в левую часть фильтров и находим там фильтр Insert Column (Добавить колонку). Двойной клик по нему, и он добавляется в список используемых нами фильтров. Выбираем значение 20 и текст ###.

Результат показан на рисунке 3-2. Напомню, чтобы применить фильтр(ы) к тексту надо или нажать внизу программы кнопку «Process Trial Text Run [F5]» или нажать клавишу F5.

В пробной области первая строка имеет вид: You can type sample text in
После применения фильтра Add left margin (Добавить текст слева) с значением $$$ получится строка:
$$$You can type sample text in
Как видно на рисунке 3-3 3 знака доллар добавились слева. Мы именно это и хотели получить.

Следующий фильтр в поле колонка имеет значение 20, а в поле текст для вставки ###

Результат его применения: $$$You can type sam###ple text in

Т.е. слово sample разорвано и с двадцатой колонки вставлено ###. Результат показан на рисунке 3-4. А если бы первый фильтр не работал строка имела бы вид:
You can type sample### text in

Вывод: первый фильтр добавил в начале строки три символа и это обстоятельство было учтено вторым фильтром!

Вы можете дважды кликнуть на первом используемом фильтре запретив его выполнение и посмотреть результат этого. Он вполне предсказуемо изменится.