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

Резултати

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

Пребарај: #mathai2026

当前筛选 #mathai2026清除筛选

🏁Старт отбора статей на MathAI 2026! Уважаемые коллеги! Мы открываем приём тезисов (абстрактов) и полнотекстовых статей для участия в конференции MathAI 2026 (30 марта – 3 апреля 2026) через систему OpenReview. 📅 Ключевые даты: Начало подачи: 23 декабря 2024 г. Конференция: 30.03.2026 – 03.04.2026 🔍 Процесс рецензирования: Как и в прошлом году (MathAI 2025), все работы пройдут независимое слепое рецензирование. На основе оценок будут отобраны лучшие статьи для устных и постерных докладов. 📢 Возможности публикации: Принятые на конференции статьи смогут быть опубликованы в партнёрских журналах: «Системная информатика» (РИНЦ) – принимаются только статьи, одобренные программным комитетом MathAI 2026. «Математический журнал Сириуса» (Scopus) – выборочный набор лучших математических работ. «MathAI Journal» (регистрируется) – новый журнал, первый выпуск которого будет сформирован на основе статей MathAI 2025 (которые не были опубликованы), второй выпуск уже на основе статей MathAI 2026. ➡️ Как подать заявку? Подача осуществляется через портал OpenReview. Тезисы можно загружать уже сейчас. Ссылка для подачи: https://openreview.net/group?id=mathai.club/MathAI/2026/Conference Шаблон (LaTeX) для статьи: https://mathai.club/files/mathai2026.zip Сайт конференции: https://mathai.club Желаем всем продуктивной работы и ждём ваши интересные исследования! #MathAI2026#CallForPapers#OpenReview#ИИ#Математика#НаучнаяКонференция

🔥СРОЧНО! ДЕДЛАЙН ПО АБСТРАКТАМ — 1 ФЕВРАЛЯ 2026!🔥 ⏰Осталось всего несколько дней! Коллеги, напоминаем о приближающемся дедлайне по подаче абстрактов на международную конференцию MathAI 2026! 📅Крайний срок: 1 февраля 2026, 23:59 (London time) 🚀 ДЕЙСТВУЙТЕ ПРЯМО СЕЙЧАС: 👉 Подайте абстракт на OpenReview: https://openreview.net/group?id=mathai.club/MathAI/2026/Conference 📥 Скачать шаблон: https://mathai.club/files/mathai2026.zip 💎 ПОЧЕМУ ЭТО ВАЖНО? ✅Публикация в престижных журналах: • Journal of Mathematical Sciences, Springer (сейчас обсуждаются вопросы по публикациям) • Доклады РАН (под ред. академика А.Л. Семенова) (выборочно, лучшие статьи) • Siberian Advances in Mathematics (под ред. академика С.С. Гончарова) (выборочно, лучшие статьи) • Журнал "Системная Информатика" (можно публиковать!) • Mathematics of AI (новый журнал IAIC) (можно публиковать!) • Mathematics of AI (новый журнал IAIC) (можно публиковать!) • Экономическая наука современной России (обсуждается подготовка спецвыпуска трудов конференции) ✅Часть журналов входит в БЕЛЫЙ СПИСОК и часть индексируется в Scopus! ✅Для лучших работ: • Бесплатное проживание в Сириусе • Завтраки включены ✅Процесс как в ICLR/ICML/NeurIPS: • Открытое рецензирование на OpenReview • Прозрачный процесс отбора • Публичное обсуждение работ 🔬 Тематические направления: Математическая логика • Теория алгоритмов • Теория вероятностей • Методы оптимизации • Теория доказательств • Дифференциальные уравнения • Теория игр для LLM и диффузионных моделей 📍 Конференция: 30 марта – 3 апреля 2026 Сириус, Сочи, Россия ⚡ НЕ УПУСТИТЕ ШАНС! Сейчас достаточно подать только абстракт! Полная статья — до 19 февраля 2026. Начните с абстракта — это займёт минимум времени, но откроет все возможности конференции! 🌐 Сайт конференции: https://mathai.club 🌐 Телеграм канал конференции: https://t.me/mathai_club 📧 Вопросы: [email protected] — Президиум конференции: • Академик РАН С.С. Гончаров (председатель) • Академик РАН А.Л. Семенов • Академик РАН Н.А. Колчанов • Член-корр. РАН А.В. Гасников • Член-корр. РИА А.И. Нечесов Не откладывайте! Подайте абстракт сегодня!⏰ #MathAI2026#ДедлайнАбстрактов#OpenReview#Scopus#БелыйСписок#Springer#ДокладыРАН#МатематикаИИ