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 слични објави

Пребарај: #ictweek2023

当前筛选 #ictweek2023清除筛选
Amity University Tashkent

@amityuniversitytashkent · Post #2660 · 23.10.2023 г., 05:52

💻 IT sohasida ayollar uchun yaratilayotgan imkoniyatlar bilan yaqindan tanishishga shoshiling! 24 – 27-oktabr kunlari Toshkent shahrida yilning eng yirik IT haftaligi – ICTWeek Uzbekistan 2023 tadbiri bo‘lib o‘tadi. Haftalikning muhim tadbirlaridan biri – IT sohasida ayollar uchun yaratilayotgan imkoniyatlar bilan yaqindan tanishtirishga bag‘ishlangan “Empowering Women in IT: Leading the Digital Revolution” (Ayollarning IT sohasidagi imkoniyatlarini kengaytirish: raqamli inqilobga rahbarlik qilish) sammiti hisoblanadi. 🤵‍♀️Sammitda qizlar uchun yangi loyihalar haqida ma’lumot beriladi. Unda qo‘shni davlatlardan va xalqaro tashkilotlardan ekspertlar, mutaxassislar hamda ushbu yo‘nalishda muvaffaqiyatga erishgan xotin-qizlar qatnashadi. Ushbu tadbi 25-oktabr, soat 15:00 da Raqamli texnologiyalar vazirligi binosida bo‘lib o‘tadi. Imkoniyatni qo‘ldan boy bermang, ICTWEEK da ishtirok eting! ☎️ (+998 77) 707-66-00, (+998 77) 707-00-66. 🟣ictweek.uz #digital #ictweek2023 #ITwomen 📌Telegram|Facebook|Instagram|Youtube|Threads |Twitter

VEON AdTech

@veonadtech · Post #43 · 26.10.2023 г., 12:06

Мы подчеркиваем важность девушек в IT и поддержали эту тему на ICT Week. В рамках выступлений на тему цифровизации и информационных технологий, представитель VEON AdTech Моника Авакьян рассказала о растущей значимости девушек в IT. Преодоление стереотипов и предубеждений, непредвзятое менторство и поддержка, а также инклюзивность играют существенную роль в гендерном равенстве технологической индустрии. "Расширение прав и возможностей девушек в IT-индустрии является не только вопросом социальной справедливости, но и стратегическим императивом", — подчеркнула Моника Авакьян. Команда VEON AdTech считает, что успех не знает гендерных границ, а сочетание технических знаний и навыков работы с людьми может привести к выдающимся достижениям! – – – We always emphasize the importance of ladies in IT and therefore supported this topic at ICT Week. As part of the presentations on digitization and information technology, VEON AdTech representative Monica Avakian spoke about the growing significance of young female professionals in IT. Overcoming stereotypes and biases, inclusivity, open-minded mentorship, and support play a significant role in achieving gender equality in the technology industry. "Expanding the rights and opportunities for girls in the IT industry is not only a matter of social justice but also a strategic imperative," emphasized Monica Avakian. The VEON AdTech team believes that success knows no gender boundaries. The combination of technical knowledge and people skills can lead to outstanding achievements! #VEONAdTech#IT#innovations#womeninIT#career#ICTWeek2023

VEON AdTech

@veonadtech · Post #45 · 27.10.2023 г., 06:31

С 24 по 27 октября в Ташкенте проходит ICT Week - форум о развитии IT-отрасли и технологиях. СЕО VEON AdTech George Held выступил на конференции с лекцией «Заменит ли искусственный интеллект человечество» и принял участие в панельной дискуссии «Создание экосистемы стартапов Узбекистана: привлечение венчурного капитала и расширение глобального охвата». Основываясь на богатом опыте работы в цифровых технологиях, George Held считает искусственный интеллект мощным инструментом развития человечества. При использовании во благо, он имеет огромный потенциал для улучшения всех сфер жизни, включая работу, здравоохранение, образование и межличностные отношения. «Индустрия информационных технологий продолжает развиваться и вносить значительный вклад в мировую экономику. По своему опыту могу сказать, что несмотря на стереотипы, IT-стартап требует не только математический расчет, но и живой творческий подход», — подчеркнул George Held. – – – ICT Week, a forum on the development of the IT industry and technologies, is taking place in Tashkent from October 24th to 27th. CEO of VEON AdTech, George Held, delivered a lecture titled "Will Artificial Intelligence Replace Humanity?" at the conference and participated in a panel discussion on "Unlocking the Uzbekistan Startup Ecosystem: Attracting Venture Capital and Expanding Global Reach." Drawing on his extensive experience in digital technologies, George Held believes that Artificial Intelligence is a powerful tool for human development. When used for the greater good, it has huge potential to improve all aspects of life, including work, healthcare, education, and interpersonal relationships. "The information technology industry continues to evolve and significantly contribute to the global economy. Based on my experience, despite stereotypes, an IT startup requires both mathematical calculations and a lively creative approach," emphasized George Held. #VEONAdTech#IT#innovations#bigdata#AI#ITeducation#ICTWeek2023