TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #121 · 20 јул.

Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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

Резултати

Пронајдени 67 слични објави

Пребарај: #cybercharge

当前筛选 #cybercharge清除筛选
CyberCharge Announcements

@cyberchargeannouncements · Post #265 · 13.01.2025 г., 12:05

✅Mark your calendar for exciting AMA! Analyzing 2025's Biggest Opportunity 🔮 Join us today at 12 PM UTC with @CyberChargeJoe ,the Co-Founder of #CyberCharge🔋 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #247 · 25.12.2024 г., 12:32

🎄The XMAS holiday season is here!🎁 #CyberCharge Wish you a holiday full of happiness and Gem in bag! 💎 Unlock up to 1500 USDT Gift 📱Join here:https://t.me/CyberChargeGroup ✨Power up,Earn More 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #236 · 18.12.2024 г., 08:53

Congrats 🎊CyberCharge Whitelist Event Ended Successfully!🔚 🔋You’ll enjoy a increase in charger revenue and have first access to profit sharing from the mining pool.⚡️CyberCharge orders are processing ,will be shipped over the next 30 days📆 #Cybercharge Brings the power of web3 charging and mining together! 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #230 · 08.12.2024 г., 10:59

🚆 The $GOUT train is on the move, and so are your chances to earn! Complete your first charge on #CyberCharge & share 1 MILLION $GOUT! 🤑 It’s easy: 🐦 Follow us & @GOUTCoin 🔋 Charge with the app + comment your APP ID below! 🔁 RT + Tag 2 friends The market is heating up fast 🔥and so is the reward pool. 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #228 · 06.12.2024 г., 09:10

🐾Meet AI Doggy, your loyal companion on the #CyberCharge journey! 🐕 ✨Buy, grow, and earn with your digital pet 🔋Keep its health >50% for max mining rewards 💎Boost its value as you nurture it ⚠️Careful—if health hits 0, it’s game over! Get Ready: https://link.medium.com/qzA4cxdp6Ob 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #224 · 04.12.2024 г., 07:33

↗️ROI So Quick, You’ll Blink Twice! 🔋Charging your devices is now a revenue stream. #CyberCharge makes it REAL with fast returns. Watch how you can earn in record time! 📽 💎Apply for the whitelist with Gem Shards in the Mini App today! 👉http://t.me/CyberChargeBot/whitelist 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #192 · 15.11.2024 г., 08:44

🎉Celebrate our partnership with @arbitrum!🎉 To join: 1️⃣RT & Like this post 2️⃣Comment with your BEP20 wallet address and #CyberCharge TG ID ⚡️20 USDT x 5 winners! ⚡️ Get ready to Charge-to-Earn with CyberCharge on arbitrum! 💙🧡 🏆Winners announced in 3 days—don’t miss out! 🚀 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #182 · 12.11.2024 г., 08:54

🔋CyberCharge x Movement is here! ⚡️By combining @movementlabsxyz ’s platform with #CyberCharge’s Charge to Earn technology, we’re making every charge count. Now, users can earn rewards simply by staying powered up, all within a secure and engaging digital ecosystem. Stay tuned for more! 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #165 · 31.10.2024 г., 08:29

🚀CyberCharge x EMC Partnership!⚡️We're thrilled to team up with@EMCprotocol to revolutionize blockchain-powered energy solutions! EMC is a leading AI & DePIN platform that bridges the computing power network and decentralized AI applications! 🔋With the world’s first DePIN Charge-to-Earn (C2E) Network, #CyberCharge brings the power of charging and mining together! Stay tuned for exciting updates as we unlock new paths for sustainable energy. 🌱 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #147 · 17.10.2024 г., 12:04

Global electricity usage is spiking after decades of stable demand. Now CyberCharge tackle the sustainable energy challenge. But how to earn your ticket to the next-gen of energy networks? 🎬 NEW VIDEO DROP: How to Earn with #CyberCharge! 🎁GIVEAWAY We’re giving away 5 $USDT to 10 lucky winners! 1️⃣Follow & RT 2️⃣Open the link 👉t.me/CyberCharge copy your TG ID, and paste it here. 3️⃣Screenshot your favorite part of the video and post it below! 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #143 · 14.10.2024 г., 09:05

🔋Ready to charge up your earnings? 💥 🤑Join the Charge-to-Earn event with #CyberCharge, where EVERYONE wins 100% guaranteed USDT rewards! 💰Earn NOW 🔗http://t.me/daily_gifts_en/74 Don’t miss out, it’s that simple: complete tasks & earn! 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

CyberCharge Announcements

@cyberchargeannouncements · Post #142 · 12.10.2024 г., 10:24

👋Hey #CyberCharge mini APP users! We’ve rolled out some cool new updates: ✨Home upgraded with smooth new animations. 🛑 "Withdraw" button in My Assets now highlighted with extra safety prompts. 🎁Task interface refreshed: updated task lists and Mystery Box rewards shown per task! 💎Invite friends and earn even more Gem Shards! 🌐Global broadcasts—stay informed anytime, anywhere. Update now for a smoother, safer experience! 🔋t.me/CyberChargeBot 🤖Earn NOW📱X(Twitter) 📱Chat💬Discord📱YouTube

Hashtags

123•••56
ПретходнаСтраница 1 од 6Следна