Обработка текста
Описание.
Данный экшен нужен для различных манипуляций с текстом. Например, обработать спарсенный текст, очистить его от мусора или даже перевести на другие языки – всё это, и многое другое, может данный «кубик».
Как добавить в проект?
Через контекстное меню Добавить действие → Данные → Обработка текста:
Внешний вид экшена.
Окно состоит из трех областей:
1. Входная строка. Сюда можно поместить текст, переменную или их комбинацию.
2. Действия над строкой и ее свойства, а также их настройки.
3. Строка с выводом результата в переменную.
Если установить курсор в поле входной строки и нажать Ctrl+Пробел, то появится выпадающий список с полезными константами и переменными проекта.
Escape строки (Экранирование символов).
Этот экшен экранирует пробел и символы: *
+
?
|
{
[
(
)
^
$
.
#
. То есть он размещает слэш \
перед каждым из этих символов.
Данный метод часто используется для работы с запросами. Также это помогает обработчику регулярных выражений использовать символы буквально, а не как команды или метасимволы.
Regex (Обработка текста регулярными выражениями).
С помощью регулярных выражений очень удобно парсить строки по заданному паттерну для нахождения нужной. Этот экшен может спарсить не только первое найденное значение, но и всю группу, а также сохранить значения в переменные или таблицу.
Поле ввода Regex.
В данное поле необходимо ввести регулярное выражение, с помощью которого будет производиться поиск по тексту. Пример: (?<=<title>).*(?=</title>)
.
Ошибка при пустом ответе.
Когда включена данная настройка, экшен завершается ошибкой, если регулярное выражение не находит ничего в тексте.
Обратите внимание на то, что если регулярное выражение вернёт пустую строку, то даже при включении этой настройки экшен все равно выйдет по зеленой ветке. Например, на сайте нет ничего в теге title: <title></title>
. Тогда регулярное выражение (?<=<title>).*(?=</title>)
сработает, но вернёт пустую строку, а экшен завершится успехом. А вот если в тексте совсем нет title, то действие завершится ошибкой.
Что брать.
Первое.
В переменную сохранится первое найденное совпадение.
Все.
Сохранить весь результат поиска в список.
Одно совпадение.
Сохраняет только одно совпадение, которое выбирается исходя из порядкового номера (нумерация с нуля).
Также можно выбрать Последнее или Случайное (Random) значение.
Номера совпадений.
Позволяет сохранить в список только номера совпадений, которые указаны через запятую (нумерация с нуля).
В переменные.
Данная функция используется при работе с групповыми регулярными выражениями.
Для лучшего понимания мы подготовили развернутый пример.
Представим, что есть следующий текст:
21.01.2003, 11:34:00.9299
11.12.2013, 01:22:55.3021
04.01.2007, 08:00:06.0032
И нам нужно разобрать его на составляющие. Для этого воспользуемся таким регулярным выражением:
(\d{2}).(\d{2}).(\d{4}), (\d{2}):(\d{2}):(\d{2}).(\d{4})
Вот как выглядит результат выполнения в Тестере регулярных выражений:
Теперь нам надо взять в переменные: день, месяц и год из второй строки. Вот как это можно сделать:
Номер совпадения в этом случае — номер строки. Так как нумерация начинается с нуля, то пишем 1
, чтобы взять вторую строку.
Далее нужно указать номер группы и переменную, в которую сохранится результат. В группе 0 находится вся найденная строка: 11.12.2013, 01:22:55.3021
. Так что для получения раздельных данных указываем следующие номера групп: 1
для дня, 2
для месяца, 3
для года.
В таблицу.
Сильно похоже на предыдущую функцию, но с тем отличием, что здесь сохраняется не один результат, а сразу все и именно в таблицу. Но из итогового результата можно исключить некоторые группы.
Здесь также рассмотрим пример.
Текст оставим из прошлого примера:
21.01.2003, 11:34:00.9299
11.12.2013, 01:22:55.3021
04.01.2007, 08:00:06.0032