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

Резултати

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

Пребарај: #ngc

当前筛选 #ngc清除筛选

🙂标题:NGC/GameCube中文汉化游戏合集 🙂说明:收录大量任天堂 GameCube(NGC)平台中文汉化游戏,合集涵盖 RPG、动作、竞速、冒险等多种类型,适合怀旧玩家与模拟器收藏体验。 🙂下载地址:网盘下载 🙂标签:#ngc#端游

Hashtags

Nicegram

@nicegramapp · Post #306 · 26.03.2023 г., 15:10

🌟 Discover Twin GPT - The Cutting-Edge AI Communication on Nicegram! 🌟 Exciting news for Nicegram users! The Nicegram team is proud to reveal that the long-anticipated NGC token will power the innovative Twin GPT platform! Twin GPT is a revolutionary user-owned AI chatbot seamlessly integrated with Nicegram Messenger. Create, customize, and engage in limitless conversations with your AI Twin, all while unlocking extraordinary communication and monetization opportunities using our NGC token ecosystem. 🚀 Are you ready to dive into the world of NGC and Twin GPT on Nicegram? 🔥 Join the Twin GPT Discussion Group to ask questions, share experiences, and connect with other enthusiasts, particularly those intrigued by NGC and Nicegram:Click here to join the discussion group Keep an eye out for the latest news, updates, and events on Twin GPT and NGC, right here on Nicegram! #TwinGPT#AIChatbot#NGC

Славные роды

@slavnye_rody · Post #11171 · 22.12.2025 г., 19:11

Новая серия проекта "Это мэтч!" врач акушер-гинеколог, репродуктолог @ngcspb Сергей Потанин 📱СМОТРЕТЬ В VK Видео Youtube Rutube #match#ngc#потанин ❤️А ВСЕ МЭТЧИ ТУТ

科技&趣闻&杂记

@kejiqu · Post #3711 · 19.08.2025 г., 01:42

哈勃再秀宇宙美景:3500 万光年外螺旋星系粉色星云“绽放” 哈勃空间望远镜发布了NGC 2835螺旋星系的新照片,该星系距离地球约3500万光年。照片展现了星系的旋臂结构,中心区域主要由年老恒星构成,年轻恒星点缀其间。影像利用H-α红光波段数据,突显了星系旋臂上发射H-α辐射的区域,呈现出粉色星云。这些粉色星云包含新生恒星形成的区域和超新星遗迹。天文学家通过分析不同类型的星云,研究恒星生命周期及其对宇宙环境的影响。IT之家 🏷#哈勃空间望远镜#NGC#H 📢频道👥群组📝投稿

科技&趣闻&杂记

@kejiqu · Post #4289 · 24.03.2026 г., 08:32

距离地球 15000 光年,天文摄影师拍摄到“雷神头盔”星云壮丽细节 天文摄影师罗纳德·布雷彻拍摄的新深空照片清晰展现了位于大犬座,距离地球 15000 光年的星云 NGC 2359。该星云直径 30 光年,呈现气泡状形态,由一颗沃尔夫–拉叶星的恒星风雕琢而成。这颗恒星质量约为太阳的 16 倍,亮度高达太阳的 28 万倍。照片捕捉到一对形似翅膀的星云结构,使星云形似雷神托尔的头盔。布雷彻于 2026 年 3 月 8 日至 13 日在加拿大圭尔夫市使用星特朗 14 英寸 EDGE HD 望远镜拍摄,累计耗时 8 个多小时,进行了 124 次相机曝光。该沃尔夫–拉叶星最终将以超新星爆发终结生命。IT之家 🏷#深空照片#NGC#沃尔夫#拉叶星 📢频道👥群组📝投稿