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

Резултати

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

Пребарај: #tatu

当前筛选 #tatu清除筛选

#TATU #UZCARD 📆 Bugun, Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti hamda Yagona Respublika protsessing markazi (UZCARD) hamkorlikda, talabalarning kelajakdagi kasbiy faoliyatiga bo‘lgan ishtiyoqini oshirish, ularning bilim ko‘nikmalari va malakalarini yanada rivojlantirish, real ish muhiti sharoitida amaliy tajribalarini orttirish va stajirovka o'tashlari uchun sharoit yaratish maqsadida, Dasturiy injiniring, Kompyuter injiniring va Axborot xavfsizligi ta'lim yo‘nalishi talabalari uchun maxsus amaliy tashrif tashkil etildi. 👥 Bunda talabalar, UZCARD kompaniyasi faoliyati, mutaxassislarga yaratilayotgan sharoitlar, ish jarayoni qanday kechishi, mavjud bo'limlari va soha mutaxassislari bilan yaqindan tanishdilar. 🗣 Tashrif davomida, UZCARD kompaniyasining ko'p yillik tajribaga ega mutaxassislari, Ta'lim va rivojlanish bo'yicha bosh mutaxassis Asilxoja Iskandarxojayev va Kadrlarni jalb qilish va rivojlantirish bo‘yicha menejer Kulmatova Kamila tomonidan talabalarga, Terminallarga xizmat ko'rsatish, yosh iqtidorli talantlarni izlab topish, dasturiy ta'minotning mijozlarga xizmat ko'rsatishgacha bo'lgan jarayonlari kabi mavzularda qiziqarli master-klass o'tkazildi. Shuningdek, Kadrlarni jalb qilish va rivojlantirish bo‘yicha menejer Kulmatova Kamiladan, kompaniyada pullik stajirovka jarayonlarida ishtirok etish va ishga kirishda kerak bo'ladigan eng muhim bo'lgan ma'lumotlar bilan tanishish imkoniyatiga ega bo'ldilar. 🤗Bizni kuzatishda davom eting! 🔘 Eng so'nggi vakansiyalar 💙@tatu_karyera_markazi

Hashtags

Sherzod Mirzajahonovich

@sherzod_axmatov · Post #312 · 28.07.2021 г., 12:58

✅TATUda Press klub o‘z faoliyatini boshladi Bugun, 28-iyul kuni Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universitetida Press-klubning ochilish marosimi bo‘lib o‘tdi. Batafsil: 👉https://mitc.uz/uz/news/view/2834 🔹🔹🔹 ✅ В ТУИТ начал свою работу пресс-клуб Сегодня, 28 июля в Ташкентском университете информационных технологий имени Мухаммада ал-Хоразмий прошла церемония открытия Пресс-клуба. Подробно: 👉https://mitc.uz/ru/news/view/2834 #TATU #pressklub 📌 Telegram|Twitter|Facebook|Instagram|Youtube

Sherzod Mirzajahonovich

@sherzod_axmatov · Post #416 · 31.03.2022 г., 14:54

✅ TATUda o‘quv jarayonlarini jahon standartlariga mos ravishda amalga oshirish bo‘yicha KOICA bilan samarali hamkorlik olib borilmoqda Bugun, 31-mart kuni TATUda “Integratsiyalashgan universitet axborot tizimini tashkil etish va taqdim etish” loyihasining yakunlanishi bo‘yicha tadbir bo‘lib o‘tdi. Unda AKT vaziri Sh. Shermatov va Koreya xalqaro hamkorlik agentligi (KOICA) vakillari qatnashdi. Batafsil: 👉https://mitc.uz/uz/news/view/3756 🔹🔹🔹 ✅ Осуществляется плодотворное сотрудничество с KOICA целью реализации учебных процессов в ТУИТ в соответствии с мировыми стандартами Сегодня, 31 марта, в ТУИТ прошло мероприятие, посвященное завершению проекта «Организация и предоставление информационной системы интегрированного университета». В нем приняли участие Министр ИКТ Ш. Шерматов и представители Корейского агентства по международному сотрудничеству (KOICA). Подробно: 👉https://mitc.uz/ru/news/view/3756 #mitc #tatu #koica 📌 Telegram|Twitter|Facebook|Instagram|Youtube

Texnika Universiteti (TDTU)

@toshkent_davlat_texnika_univer · Post #1316 · 24.08.2022 г., 06:55

#nuu #tdsu #tatu #tdiu Bot statistika yordamida ayrim yoʻnalishlarning oʻtish ballari 99% aniq! (1,2 ball farq qilishi mumkin) 1. Oʻzbekiston Milliy universiteti ( Geografiya (kunduzgi, oʻzbek)) - 93 ball 2. Toshkent Davlat Texnika universiteti ( Biotibbiyot muhandisligi (kunduzgi, oʻzbek)) - 110 ball 3. Toshkent Davlat Texnika universiteti ( Energiya tejamkorligi va energoaudit ( kunduzgi, oʻzbek)) - 60 ball 4. Toshkent Davlat Iqtisodiyot universiteti ( Bank ishi va auditi ( kunduzgi, oʻzbek)) - 137 ball 5. Toshkent Davlat Iqtisodiyot universiteti ( Marketing, tarmoqlar va sohalar boʻyicha ( kunduzgi, oʻzbek)) - 128 ball 6. Toshkent Davlat Agrar universiteti ( Biotexnologiya, tarmoqlar boʻyicha (kunduzgi, oʻzbek)) - 102 ball 7. Toshkent Davlat Sharqshunoslik universiteti ( Jurnalistika, xalqaro jurnalistika (kunduzgi, oʻzbek)) - 129 ball 8. Toshkent Davlat Transport universiteti (Iqtisodiyot, temir yoʻl transporti (kunduzgi, oʻzbek)) - 98 ball 9. Oʻzbekiston Milliy universiteti ( Amaliy matematika (kunduzgi, oʻzbek)) - 131 ball 10. Toshkent Axborot texnologiyalari universiteti ( Dasturiy injiniring (kunduzgi, oʻzbek)) - 108 ball Biz sizlarga koʻpchilik topshiradigan 10 ta yoʻnalishning oʻtish ballarini eʼlon qildik (bu aniq shu ball boʻladi degani emas ammo 90% toʻgʻri) Yana kimga qaysi yoʻnalish kerak boʻlsa kommentariyada yozib qoldiring! Mandat rasmiy boti: @mandat_2022_uz_bot 👉https://t.me/+dNPnpggKqAdiYjVi Barcha abituriyentlarga joʻnatamiz! @mandat_natijalari_2022_uz