Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример).
Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать?
В Django по умолчанию есть готовая функция slugify для таких случаев.
Но я её никогда не использую. Почему? Потому что её недостаточно!
Приведём пример
>>> from django.utils.text import slugify
>>> slugify('This is a Title')
'this-is-a-title'
Пока всё отлично
>>> slugify('This is a "Title!"')
'this-is-a-title'
Спец символы удалились, всё хорошо.
>>> slugify('Это заголовок статьи')
''
Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить
>>> slugify('Это заголовок статьи', allow_unicode=True)
'это-заголовок-статьи'
Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте.
Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою.
Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку:
🔸1. Исходный текст:
>>> text = 'Мой заголовок №10 😁!'
Взял специально посложней со специальными символами.
🔸2. Транслит
Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги.
from unidecode import unidecode
>>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山")
'N S (r) u P 1/4 Yue Shan'
Очень крутая библиотека, советую👍
В нашем случае получаем такое преобразование:
>>> text = unidecode(text)
>>> print(text)
'Moi zagolovok No. 10 !'
Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы.
А еще наш код уже поддерживает любой язык, будь то хинди или корейский.
🔸4. Фильтр символов
Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона.
>>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text)
>>> print(text)
'Moi_zagolovok_No_10_'
Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_".
🔸5. Slugify
Осталось удалить лишние символы по краям и сделать нижний регистр
>>> text = text.strip('_').lower()
>>> print(text)
'moi_zagolovok_no_10'
Получаем отличный slug! 😎
🌎 Полный код в виде функции.
______________
PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию.
#libs#tricks#django
💡Google’s AI Now Predicts Electricity Demand 7 Days Ahead
Google DeepMind just upgraded its AI to predict electricity usage in the U.S. up to 168 hours (7 days) in advance 📊—with 97% accuracy!
That means:
🔋 Better power grid management
🌐 Less energy waste
🧠 Smarter integration of renewables like wind & solar
🎯Why it matters:
AI isn’t just writing code—it’s literally helping power the planet more efficiently. And with climate change on the rise, every watt counts.
At NeuralHub AI, we keep you connected to the tech that's shaping the future—because knowledge is power (literally ⚡️).
➖➖➖➖🔻
🧠 BOT: @Chatgpt_OfficialBOT
💎@Chatgpt_OfficialNews
#️⃣#AInews#GreenTech#NeuralHubAI#DeepMind
➖➖➖➖🔺
📩Innovatsion ekologik startapingizni taqdim eting!
Atrof-muhitni muhofaza qilish, qayta tiklanadigan energiya, chiqindilarni qayta ishlash, suvni tejash yoki havo sifatini yaxshilash bo‘yicha innovatsion yechimlar ustida ishlamoqdamisiz?
Markaziy Osiyoda o‘z yo‘nalishidagi birinchi ekologik ko‘rgazma — “EcoExpo 2025” startaplar tanlovida ishtirok etib, g‘oyalaringizni yangi bosqichga olib chiqing!
G‘oliblar “EcoExpo 2025”da o‘z loyihalarini soha yetakchilari, investorlar va siyosatchilarga taqdim etish uchun noyob imkoniyatga ega bo‘ladilar.
🔗Hoziroq ariza topshiring
—
📩Submit Your Innovative Environmental Startups!
Are you working on groundbreaking solutions in environmental protection, renewable energy, waste recycling, water conservation, or air quality improvement?
Take your ideas to the next level by participating in the EcoExpo 2025 Startup Competition — the first environmental exhibition of its kind in Central Asia!
Winners will get a unique opportunity to present their projects to industry leaders, investors, and policymakers at EcoExpo 2025.
🔗Apply now
#EcoExpo2025#GreenTech#EnvironmentalInnovation#Sustainability#CentralAsia
The future of precious assets isn’t just in the ground—it’s on the blockchain. 🌍✨
Real Value. Real Emeralds. Verem. 💎"
Verem is transforming the emerald industry by connecting authentic mining with global digital access. Real people, real values, and a bridge to the future. 🚀
The future is here. 💎
https://x.com/veremorg?s=21
https://t.me/VeremOrg1
#Verem#Sustainability#Mining#GreenTech#InvestInTheFuture#rwa#blockchain $verem #veremrwa
Metsä Group Raises $208.4M
Metsä Group has successfully raised $208.40 million as of December 19, 2024. The company focuses on producing renewable products sourced from northern forests, aiming to replace fossil raw materials.
#MetsäGroup#Funding#RenewableProducts#FossilFuels#Sustainability#Forestry#Investment#EcoFriendly#BioProducts#GreenTech
🏆Мексиканский стартап LAIN TECH стал победителем South Summit 2025 в Мадриде
На крупнейшем международном стартап-форуме South Summit 2025, который прошёл в Мадриде, главным победителем конкурса среди более 4 500 заявок со всего мира стал мексиканский проект LAIN TECH — разработчик «зелёной» технологии извлечения лития.
В форуме приняли участие 400 спикеров, 140 инвесторов (68 % международных) и стартапы-единороги.
Тема 2025 года — In Motion: устойчивое развитие, ИИ и климатические технологии. Мероприятие открыл король Фелипе VI, призвав использовать ИИ ответственно.
Что делает LAIN TECH👇
Компания предлагает экологичную альтернативу традиционной добыче лития — ресурса, ключевого для производства аккумуляторов и электромобилей.
Стартап использует безвредные для окружающей среды методы, а их решение предполагает создание замкнутого цикла с возможностью повторного использования материалов. Это особенно важно в контексте растущего мирового спроса на литий и обеспокоенности последствиями его добычи для экосистем.
Победа LAIN TECH — это не только признание инновационного потенциала Латинской Америки, но и важный сигнал: устойчивые и технологичные подходы к использованию природных ресурсов становятся ключевыми на глобальной арене.
Команда получила признание за устойчивость, технологическую зрелость и масштабируемость решения, опередив сотни финалистов из разных отраслей.
#SouthSummit2025#Mexico#Startup#GreenTech#Lithium#LAINTECH#Инновации#Экология#Климат#Технологии#УстойчивоеРазвитие
👉Всегда свежие новости о странах Латинской Америки!
Ереван: встреча российской делегации под руководством Чрезвычайного и Полномочного Посла России
в Армении С.П. Копыркина с Министром окружающей среды Армении Амбарцумом Матевосяном
🌿 27 октября состоялся визит российской делегации под руководством Чрезвычайного и Полномочного Посла Российской Федерации в Республике Армения Сергея Копыркина в Министерство окружающей среды Республики Армения.
🤝 В составе российской делегации приняли участие Торговый представитель России в Армении Сергей Соломин, цифровой атташе Торгпредства Алексей Ордин и представитель Министерства экономического развития России Анастасия Иванова.
🌍 В ходе встречи с Министром окружающей среды Армении Амбарцумом Матевосяном обсуждён широкий круг вопросов, связанных с развитием российско-армянского взаимодействия в сфере экологии, природопользования и цифрового экомониторинга.
💧 Особое внимание уделено предложениям Госкорпорации «Росатом» по созданию интегрированных систем экологического мониторинга водных объектов и атмосферного воздуха, а также возможностям применения российских технологий в сфере обращения с отходами и цифровизации природоохранного контроля.
🇷🇺 Торговый представитель России в Армении Сергей Соломин отметил готовность оказать содействие армянской стороне в привлечении передовых российских компаний к участию в тендерах и проектах, направленных на достижение целей устойчивого развития в Республике Армения.
📘 Справочно:
Министерство окружающей среды Республики Армения является ключевым государственным органом, ответственным за реализацию национальной экологической политики, управление водными и природными ресурсами, развитие системы мониторинга и охраны окружающей среды. Российские компании активно проявляют интерес к участию в совместных проектах, направленных на экологическую цифровизацию, мониторинг рек и атмосферного воздуха, а также решение проблем в области утилизации промышленных отходов.
#РоссияАрмения#ТоргпредствоРоссиивАрмении#Экология#Цифровизация#Росатом#Ovio#Ростелеком#Экомониторинг#РоссийскоАрмянскоеСотрудничество#УстойчивоеРазвитие#GreenTech#RusTech