На днях поступила задача обработать/нормализовать данные в таблице "лидов". После регистрации с разных веб-сайтов стекаются данные подписчиков в разном формате. Очень часто для упрощения регистрации посетителей просят ввести Ф.И.О в одной строке поля. И это значение хранится в структурированном виде как 1 строка из множества в таблицах. Вам нужно разделить по разделителю "пробел" значения строки разнеся их на разные столбцы для удобства обработки. В 90% случаев никто не вводит свое отчество (это абсолютно нормально), но эту подстроку тоже надо как-то вычислять. В общем, будем считать, что мы воспользовались сводкой данных в таблицу Excel, а через функцию на вкладке "Данные
" -> "Текст по столбцам"
разбили строку на подстроки, получив 3 столбца (Фамилия, Имя, Отчество). И вот мы подошли к сути этой небольшой статьи - порядок следования Фамилии и Имени в массе случаев просто нарушен, а маркетинг четко использует в рассылках обращение по имени.
Применение регулярных выражений для проверки (валидации) данных известно давно. Во времена среды разработки Delphi 7 не было встроенной библиотеки для работы с регулярными выражениями, поэтому подключали сторонние. Начиная с современной реализации Delphi от Embarcadero такая возможность появилась, если объявить в uses
разделе System.RegularExpressions
. Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текстовых значений на основе паттерна в виде специальной символьной записи.
Нередко сталкивался с запросами от специалистов по продажам, что нужен простой сервис для проверки профиля юридического лица по имени компании или по ИНН. Есть немало сервисов, которые позволяют реализовать эту задачу. Я же воспользовался сервисом dadata(.ru). Простота API и достаточно широкие возможности позволяют без труда сделать веб-сервис для получения карточки юридического лица.
Редко удается писать что-то действительно полезное и простое в части решения различных задач. В этот раз мой товарищ спросил вполне резонный вопрос о создании эффекта фоновой подсветки для визуальных компонентов приложений на базе движка FireMonkey. Задачка решается примитивно просто.
Наверняка кто-то сталкивался с задачей динамического создания элементов списка в Firemonkey (XE5/6). Создать строковую позицию Item несложно. Но есть еще несколько объектных элементов для такого компонента как список (TListbox). И простой директивой Add здесь не обойтись. Для тех, кто хочет создавать современные и информативные списки, используя объекты типа TMetropolisUIListBoxItem, читайте небольшую статью.