Функция sub в regex может принимать функцию в качестве аргумента repl.
📄 Из документации:
If repl is a function, it is called for every non-overlapping occurrence of pattern. The function takes a single match object argument, and returns the replacement string.
То есть для каждого совпадения будет вызвана функция для вычисления замены вместо замены на одну и ту же строку для всех совпадений.
Иными словами, для замены разных совпадений на разные строки не потребуется запускать re.sub() много раз для каждой строки замены. Достаточно определить функцию, которая вернёт строку для каждого из совпадений.
Описание слишком запутанное🤔, давайте лучше рассмотрим на простом примере:
Создаем карту замены. То есть какие строки на какие требуется менять.
remap = {
'раз': '1',
'два': '2',
'три': '3',
'четыре': '4',
'пять': '5',
}
Пишем функцию поиска строки для замены. Единственным аргументом будет объект re.Match.
Используя данные этого объекта мы вычисляем замену on-the-fly!
def get_str(match: re.Match):
word = match.group(1)
return remap.get(word.lower()) or word
Пример текста.
text = '''Раз Два Три Четыре Пять
Вместе будем мы считать
Пять Четыре Три Два Раз
Мы считать научим вас
'''
Теперь запускаем re.sub и вместо строки замены (repl) подаём имя функции.
(Данный паттерн ищет отдельные слова в тексте)
>>> print(re.sub(r'(\w+)', get_str, text))
1 2 3 4 5
Вместе будем мы считать
5 4 3 2 1
Мы считать научим вас
Думаю, достаточно наглядно 🤓
#libs#regex
Мы получили CT KZ для нашего нового реагента - ингибитор солеотложения Osmopro-32. Это отличный реагент для систем обратного осмоса, производимый в Казахстане. Отличный реагент для промышленных предприятий энергетики и водоподготовки. Отлично совместимый с мембранами импортного производства. Мы готовы показать работу нашего реагента всем промышленным предприятиям на нашей установке с установкой мембран, используемых на установках осмоса. Можно обращаться к нам на почту [email protected] Мы с удовольствием покажем эффективность отечественного реагента на импортных мембранах обратного осмоса на нашей установке на производственной площадке в Караганде. #ISTOCKSolutions#OSMOPRO#Осмос
Кейс из Арыси: меняем газообразный хлор на безопасность и эффективность💧
Завершили важный этап — успешно прошел пилотный проект по испытанию установки диоксида хлора DIOXEL для местного водоканала. Отчет подписан, результаты подтвердили: технология готова к масштабированию на Юге Казахстана.
Почему это решение лучше традиционного хлорирования?
Безопасность 24/7: Никаких резких запахов и опасных газов в помещении. Раствор подается напрямую в поток без промежуточного хранения.
Скорость: Результат по остаточному хлору в воде достигается уже через 60 минут.
Энергоэффективность: Установка потребляет всего 0,3 кВт (как пара лампочек), не перегревается и стабильно держит производительность.
Гибкость: Оборудование легко доукомплектовать датчиками и контроллерами для полной автоматизации процесса.
Гордимся тем, что DIOXEL — это продукт казахстанского производства от нашей команды ISTOCK Solutions. Мы не просто поставляем реагенты, мы создаем комплексную инженерную экосистему для чистой воды.
Растем, внедряем, обеспечиваем безопасность. 🇰🇿
#Водоподготовка#ИнновацииКазахстан#ISTOCKSolutions#Экология#DIOXEL#Арысь
🚀ИСТОРИЯ УСПЕХА: Как мы решили критическую проблему кальциевых отложений на Алматинских Электрических Станциях (АлЭС)
Наш полимерный реагент Scale Pro 56 вышел на промышленный рынок, и мы уже видим впечатляющие результаты!
Проблема на объекте: На пиковых бойлерах АлЭС остро стояла проблема с критическими кальциевыми отложениями. Ранее используемый реагент (ИОМС-1) не справлялся с масштабом задачи, что влияло на эффективность работы станции.
Наше решение (Scale Pro 56): Мы внедрили Scale Pro 56 и получили значительный эффект уже на старте. Результат был настолько мощным, что нам пришлось оперативно снижать дозировки, чтобы избежать неконтролируемого смывания отложений и попадания их в городские тепловые сети. Это не просто успех, это подтверждение высочайшей эффективности нашего продукта!
🔬 10 ЛЕТ РАЗРАБОТКИ:
Scale Pro 56 — это плод почти 10-летней работы нашего ведущего разработчика, который довел формулу до совершенства. Горжусь тем, что являюсь частью команды ISTOCK Solutions, которая воплощает науку в реальные промышленные решения в нашей стране.
Спасибо нашей команде! Вы лучшие.
#ПромышленнаяХимия#Водоподготовка#LinkedInSuccess#ISTOCKSolutions#ScalePro56#Энергетика#Казахстан
🔍Почему мы выбрали диоксид хлора флагманской технологией очистки воды?
Сегодня модно задавать вопросы искусственному интеллекту. Мы решили спросить и его:
💬 «Диоксид хлора более эффективен, чем хлор и гипохлорит натрия, так как обладает высокой окислительной способностью, не образует токсичных хлорорганических соединений и лучше справляется с микробиологической слизью. Хлор и гипохлорит проще в применении и дешевле, но требуют более высоких дозировок, что увеличивает эксплуатационные затраты».
📌 Наш опыт это подтверждает. В рамках пилотного проекта на базе Атырауского НПЗ мы обратили внимание на ещё один важный фактор — широкий диапазон pH, в котором эффективно работает диоксид хлора: от 3 до 10. Это даёт гибкость при различных условиях эксплуатации.
⚡️ Кроме того, гипохлорит натрия требует значительных энергозатрат при производстве. Если учитывать стоимость электроэнергии, его применение становится менее выгодным в долгосрочной перспективе.
💡 Важно: мы производим как мембранные генераторы хлора, так и установки гипохлорида натрия. Но когда речь идёт о максимальной эффективности, безопасности и устойчивости — диоксид хлора остаётся нашим технологическим приоритетом.
🎯 Окончательный выбор всегда за заказчиком. Наша задача — предоставить объективные данные, опыт и надёжные решения.
#ISTOCKSolutions#DIOXEL#водоочистка#диоксидхлора#экотехнологии#промышленнаяочистка#инновации#Казахстан#АНПЗ