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

Резултати

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

Пребарај: #bitget

当前筛选 #bitget清除筛选

Lookonchain | ꘜ Whales are accumulating $BGB recently. 0x8900 withdrew 192,668 $BGB($936K) from #Bitget over the past 2 months. 0x171D withdrew 30,607 $BGB($134K) from #Bitget 2 days ago. 0x7C9C withdrew 20,980 $BGB($102K) from #Bitget over the past 3 months. Notably, #Bitget has burned a total of 860M $BGB($5.25B) over the past 8 months, reducing the total supply by 43%. https://intel.arkm.com/explorer/address/0x89006C3aADfF87c5113b835660E3459C6Ad61F16 https://intel.arkm.com/explorer/address/0x171D1285a9a8De3f16d4c45706d4E2F4A5C9e175 https://intel.arkm.com/explorer/address/0x7C9C4f9046ba2173fae539FE62eEFAb1aBAD1523

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #24564 · 13.05.2026 г., 07:00

【🔥贊助文章|Bitget IPO Prime 上線 preOPAI 認購:堅持做「正確而困難」的事】 #Bitget 📍閱讀全文: https://abmedia.io/bitget-subscribe-preopai-token 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #24537 · 12.05.2026 г., 08:00

【🚀贊助文章|OpenAI 傳將以一兆估值於 2026 第四季上市,這次散戶也可以 IPO 前先買股了】 #Bitget 📍閱讀全文: https://abmedia.io/openai-bitge-ipo-prime 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #24433 · 07.05.2026 г., 10:00

【🚀 贊助文章| Bitget 啟動全球粉絲故事徵集活動,分享體驗瓜分 100,000 USDT】 #Bitget 📍閱讀全文: https://abmedia.io/bitget-fan-story-100k-usdt 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #24373 · 05.05.2026 г., 10:00

【🥳 贊助文章 | Bitget 推出 Blockchain4Youth 學習平台,強化未來 Web3 人才發展】 #Bitget 📍閱讀全文: https://abmedia.io/bitget-blockchain4youth-learning-hub-web3 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #24343 · 04.05.2026 г., 10:02

【🚀贊助文章|Messari 深度拆解 Bitget 四層 AI 架構,率先打通全維度 AI 呼叫體系】 #Bitget 📍閱讀全文: https://abmedia.io/messari-bitget-ai-architecture 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #24223 · 29.04.2026 г., 11:30

【🚀贊助文章|美股七巨頭微軟、Google、Meta、亞馬遜財報開獎,AI 資本牽動台積電走勢】 #Bitget 📍閱讀全文: https://abmedia.io/magnificent-seven-earnings-ai-tsmc 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #24154 · 27.04.2026 г., 08:04

【🚀 贊助文章|Bitget 推出 Broker Max Check 計劃,新晉經紀商最高可獲 12,000 USDT 獎勵 】 #Bitget 📍 請見報導: https://abmedia.io/bitget-broker-max-check-rewards 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #24080 · 23.04.2026 г., 11:02

【🚀 贊助文章|Bitget 升級交易基礎架構,訂單延遲最高降低 40% 】 #Bitget 📍 請見報導: https://abmedia.io/bitget-trading-infrastructure-upgrade-latency 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #24029 · 21.04.2026 г., 07:00

【🚀 贊助文章|Bitget 推出 CFD 跟單交易,跨市場資產配置需求加速升溫 】 #Bitget 📍 請見報導: https://abmedia.io/bitget-cfd-copy-trading-launch 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #23947 · 17.04.2026 г., 09:01

【🚀 贊助文章|Netflix Q1 2026 財報前瞻:訂閱成長與廣告引擎能否持續發力 】 #Bitget 📍 請見報導: https://abmedia.io/netflix-q1-2026-earnings-preview 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

NEWS 鏈新聞-ABMedia

@abmedia_news · Post #23905 · 15.04.2026 г., 12:36

【🚀 贊助文章|SpaceX 估值一年翻五倍,IPO 前六種提前佈局方式:純度、費用與風險一次看清 】 #Bitget 📍 請見報導: https://abmedia.io/spacexs-valuation-increased-fivefold-in-one-year-for-its-ipp 📍 訂閱鏈新聞頻道:https://linktr.ee/abmedia.io

Hashtags

123•••10•••1314
ПретходнаСтраница 1 од 14Следна