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

Резултати

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

Пребарај: #referralcontest

当前筛选 #referralcontest清除筛选
ChatGPT AI Technology News

@chatgpt_officialnews · Post #101 · 08.05.2025 г., 16:10

🎉 AIRDROP MADNESS STARTS THIS SATURDAY! 🎉 Hey NeuralHubs fam—ready to turn your invites into cold, hard cash? 💸 We’re kicking off Weekly & Monthly Referral Airdrops, and you don’t want to miss this. 🤑 🚀 Weekly Airdrop: $200 up for grabs! 🥇 1st Place: $100 🥈 2nd Place: $60 🥉 3rd Place: $40 💰 Monthly Airdrop: $1,000 prize pool! 🥇 1st Place: $500 🥈 2nd Place: $300 🥉 3rd Place: $200 🔗 How to earn: ✅ Share your referral link (get it from the bot) ✅ Every friend who joins = 1 referral ✅ Referrals count toward both weekly & monthly leaderboards ✅ Plus, you get 20,000 tokens for every referral! 💥 It all kicks off this Saturday—so get your links ready, rally your crew, and start climbing the leaderboard. 🏆 More friends = More tokens = More cash. Let’s gooo! 😈 Payment: Crypto ➖➖➖➖🔻 🤖 BOT: @Chatgpt_OfficialBOT 💎@Chatgpt_OfficialNews → Soon @NeuralHubsNews #️⃣#NeuralHubAI#Airdrop#ReferralContest#CryptoRewards ➖➖➖➖🔺

ChatGPT AI Technology News

@chatgpt_officialnews · Post #119 · 26.05.2025 г., 16:02

📰 AI News Update: 🤖 In the world of artificial intelligence, researchers have made significant strides in natural language processing. A new model developed by a team at a leading university has surpassed previous benchmarks in understanding context and nuances in text. This advancement could revolutionize chatbots, translation services, and content analysis tools. Moreover, a breakthrough in AI ethics has been achieved with the development of a framework that prioritizes fairness and transparency in machine learning algorithms. This approach aims to mitigate biases and discrimination, ensuring AI systems make ethical decisions in various applications. On the business front, tech giants are investing heavily in AI-driven solutions to enhance customer experiences and streamline operations. Companies across industries are increasingly leveraging AI to drive innovation... ➖➖➖➖🔻 🤖 BOT: @Chatgpt_OfficialBOT 💎@Chatgpt_OfficialNews #️⃣#NeuralHubAI#ReferralContest#EarnTokens#WeeklyAirdrop ➖➖➖➖🔺

ChatGPT AI Technology News

@chatgpt_officialnews · Post #117 · 24.05.2025 г., 11:01

🚀 Referral Contest Heating Up – $200 Weekly Prize! The race is ON, and here are your current top referrers: 🥇Amir – 30 referrals 🥈Pixel Wiz* – 29 referrals 🥉Ref Champ* – 23 referrals But it’s not over yet — you still have time to climb the leaderboard and win your share of the $200 prize this week! ⚡️Just invite your friends using your referral link 😵Every referral brings you closer to the top 🏆Top 3 win: $100 • $60 • $40 Let’s go! Start inviting now and grab that top spot! 📈 ➖➖➖➖🔻 🤖 BOT: @Chatgpt_OfficialBOT 💎@Chatgpt_OfficialNews #️⃣#NeuralHubAI#ReferralContest#EarnTokens#WeeklyAirdrop ➖➖➖➖🔺