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

Резултати

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

Пребарај: #matchday

当前筛选 #matchday清除筛选
Бекзод Толибов блоги

@bekzod_tolibov · Post #22869 · 21.04.2026 г., 01:49

➡️#MATCHDAY | OʻYIN KUNI ⚽️⚽️ Pro Liga 4-tur 🔷"FarDU" 🆚 "Gʻazalkent"🟠 🗓 21-aprel ⏰ Soat: 16:30 🏟 "FarDU sport majmuasi" stadioni 📍 Fargʻona shahri 💬TELEGRAM | 📹INSTAGRAM | 📹YOUTUBE

Hashtags

Бекзод Толибов блоги

@bekzod_tolibov · Post #22793 · 15.04.2026 г., 09:40

🗓#MATCHDAY | OʻYIN KUNI ⚽️⚽️ Pro Liga 3-tur 🔵 “Shoʻrtan” 🆚 “FarDU” 🔷 🗓 Bugun, 15-aprel ⏰ Soat: 18:00 🏟 “Gʻuzor markaziy” stadioni 📍 Gʻuzor shahri Farg‘ona viloyati futbol assotsiatsiyasi nomidan “FarDU” jamoasiga bugungi muhim uchrashuvda omad tilaymiz! 💪⚽️ Jamoaga ishonamiz, har bir daqiqada maksimal kurash va chiroyli futbol kutib qolamiz. Maydonda bor kuchingizni berib, muxlislarni xursand qilishingizga tilakdoshmiz! 🔥 Olg‘a, FarDU! 💙 Telegram | Instagram | farfa.uz | YouTube

Hashtags

Бекзод Толибов блоги

@bekzod_tolibov · Post #22787 · 15.04.2026 г., 01:39

🗓#MATCHDAY | OʻYINKUNI ⚽️⚽️ Pro Liga 3-tur 🔵”Shoʻrtan" 🆚 "FarDU"🔷 🗓 Bugun, 15-aprel ⏰ Soat: 18:00 🏟 "Gʻuzor markaziy" stadioni 📍 Gʻuzor shahri 💬TELEGRAM | 📹INSTAGRAM | 📹YOUTUBE

Hashtags

UZBEKISTAN LEGIONARIES | LEGIONERS UZ

@uzbekistan_legionaries · Post #21671 · 10.05.2026 г., 07:14

#MatchDay Bugun Oʻzbekiston U-17 terma jamoasi Osiyo kubogi doirasida Hindistonga qarshi uchrashuvda maydonga tushadi. 🇮🇳Hindiston — Oʻzbekiston 🇺🇿 🗓 10-may | 22:00 🏟 “Hall Stadium”. Jidda 📹Uchrashuv OFK YouTube sahifasida jonli efirda namoyish etiladi:https://www.youtube.com/watch?v=fuWGo5zTEtY

Hashtags

UZBEKISTAN LEGIONARIES | LEGIONERS UZ

@uzbekistan_legionaries · Post #21421 · 20.04.2026 г., 07:05

#Matchday O‘yin kuni O’zbekiston U-16 terma jamoasi bugun UEFA “Rivojlanish kubogi” musobaqasi doirasidagi navbatdagi bahsda ishtirok etadi. Shimoliy Irlandiya 🆚 O'zbekiston🇺🇿 🗓 20-aprel ⏰ 14:00 🏟 "Turnovo" stadioni, Shimoliy Makedoniya 💳Uzcard | 🔴Coca-Cola | ❤️Uzum Bank | ⚡️t.me/FAUzbekistan

Hashtags

UZBEKISTAN LEGIONARIES | LEGIONERS UZ

@uzbekistan_legionaries · Post #21388 · 15.04.2026 г., 07:29

#Matchday O‘yin kuni O’zbekiston U-16 terma jamoasi bugun UEFA “Rivojlanish kubogi” musobaqasi doirasidagi ilk bahsda ishtirok etadi. 🇹🇷Turkiya 🆚 O'zbekiston🇺🇿 ⏰ 15:00 🏟 "Turnovo" stadioni, Shimoliy Makedoniya 💳Uzcard | 🔴Coca-Cola | ❤️Uzum Bank | ⚡️t.me/FAUzbekistan

Hashtags

UZBEKISTAN LEGIONARIES | LEGIONERS UZ

@uzbekistan_legionaries · Post #21370 · 13.04.2026 г., 05:01

#Matchday O‘yin kuni O’zbekiston U-16 terma jamoasi bugun “CAFA U-17 Championship 2026” musobaqasi doirasidagi hal qiluvchi bahsda ishtirok etadi. 🇺🇿O’zbekiston 🆚 Tojikiston🇹🇯 ⏰ 17:00 🏟 Milliy futbol markazi 💳Uzcard | 🔴Coca-Cola | ❤️Uzum Bank | ⚡️t.me/FAUzbekistan

Hashtags

UZBEKISTAN LEGIONARIES | LEGIONERS UZ

@uzbekistan_legionaries · Post #21335 · 11.04.2026 г., 05:59

#Matchday O‘yin kuni O’zbekiston U-16 terma jamoasi bugun “CAFA U-17 Championship 2026” musobaqasi doirasidagi navbatdagi bahsda ishtirok etadi. 🇹🇲Turkmaniston 🆚 O’zbekiston🇺🇿 ⏰ 17:00 🏟 Milliy futbol markazi 💳Uzcard | 🔴Coca-Cola | ❤️Uzum Bank | ⚡️t.me/FAUzbekistan

Hashtags

UZBEKISTAN LEGIONARIES | LEGIONERS UZ

@uzbekistan_legionaries · Post #21313 · 09.04.2026 г., 04:59

#Matchday O‘yin kuni O’zbekiston U-16 terma jamoasi bugun “CAFA U-17 Championship 2026” musobaqasi doirasidagi navbatdagi bahsda ishtirok etadi. 🇺🇿Oʻzbekiston 🆚 Afg'oniston🇦🇫 ⏰ 17:00 🏟 Milliy futbol markazi 💳Uzcard | 🔴Coca-Cola | ❤️Uzum Bank | ⚡️t.me/FAUzbekistan

Hashtags

UZBEKISTAN LEGIONARIES | LEGIONERS UZ

@uzbekistan_legionaries · Post #21288 · 07.04.2026 г., 05:57

#Matchday O‘yin kuni O’zbekiston U-16 terma jamoasi bugun “CAFA U-17 Championship 2026” musobaqasi doirasidagi ilk o’yinida ishtirok etadi. 🇰🇬Qirg’iz Respublikasi 🆚 Oʻzbekiston 🇺🇿 ⏰ 14:00 🏟 Milliy futbol markazi 💳Uzcard | 🔴Coca-Cola | ❤️Uzum Bank | ⚡️t.me/FAUzbekistan

Hashtags

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