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

Пребарај: #peropero

当前筛选 #peropero清除筛选
小喵的ACG黄油 (重开版)

@xiaomiaogame · Post #3057 · 28.02.2026 г., 12:41

喵斯快跑 Muse Dash v6.0.1 官方中文版+全DLC 1. 鱼来!潜水员戴夫联动更新,联动曲「Stra Stella」加入基础包;解锁全新推出的联动角色包「欢迎来到蓝洞!」即可获得角色「潜水员 布若」和可互动主题背景——不仅实现了三人组之间的对话小剧场,还能把音游变成钓鱼卖鱼成长的养成游戏?还有一个特殊关卡和一张插图不要错过哦! 2. 「宇宙电台 2025」收录 6 首新曲(约等于一桌年夜饭),解锁还能获得一张宇宙电台 2025 赛季结算插图 (σ'ω')σ 3. 「MD 补完计划」新增 4 首新曲,是的我们加入了一些成瘾物质…… 4. 还有雨露均沾的里谱解锁情报:基础包中「Stra Stella」长按曲封解锁;「宇宙电台 2025」中「彼方へ、名もなき海辺より」连击难度按钮解锁;「MD 补完计划」中「おべんきょうたいむ」长按曲封解锁! 5. 一张情人节插图 2 月 13 日 ~ 2 月 22 日上线即可获取,之后加入碎片掉落;一张 bilibili 80w 粉丝贺图加入碎片掉落,这是让年夜饭变得好吃的咒语,哦依稀库拿啊咧~ 6. 新年版本就没有什么符合新年特点的内容吗?有的兄弟有的,马上就端上来,再等几天罢 (^w^)> 游戏简介: 边听音乐边打。” “那是来自异世界的电话吗?” 【游戏开始——!!】 可爱的女孩 还是有节奏的音乐? 如果你有一个地方可以同时拥有它们…… 一定是跑酷和节奏游戏的天堂 ★★★ — Muse Dash!! 咦?!不是你的强项?没关系! 谁说你必须有很强的节奏感才能获胜? 避免也是一个有效的选项 (?) 只要你对可爱的女孩有100%的热情、勇气和……爱~ 节奏和战斗都不是问题ヾ(❛ᴗ˂)♥️ 评分 #精品 作者 #peropero #PC#安卓#音游#正经游戏#官中 #喵斯快跑#Muse Dash 入正地址 下载地址

小喵的ACG黄油 (重开版)

@xiaomiaogame · Post #3760 · 01.04.2026 г., 12:51

喵斯快跑 Muse Dash v6.1.0官方中文版+全DLC きみの愛玛が! HORSE PAAARTY ALL NIGTHT!! 刚说完玛莉嘉你带我走吧就被一匹马踹走了,仔细想想也没错? 1. 愚人节主题包「爱♡马」收录 6 首新曲,解锁将释放角色「马莉嘉 made by Ora 2」,伴随获得圣物永久珍藏版写真、UmaTok 流出私人影像、马蹄 ASMR……爱马的爱是 AI 的爱?! 2. Muse Dash 首个双人对战关卡「喵儿跑传说」降临愚人节主题包,肉搏!激烈的肉搏! 3. 鸣潮联动曲包「鸣潮先约电台」收录 3 首新曲,游戏等级达到 45 级就能免费解锁~ 4. 愚人节曲包「777 (Vocal ver.) feat.ななひら」、鸣潮联动包「逐光筑昼」里谱追加,疯狂连击难度按钮,直面黑暗吧! 游戏简介: 边听音乐边打。” “那是来自异世界的电话吗?” 【游戏开始——!!】 可爱的女孩 还是有节奏的音乐? 如果你有一个地方可以同时拥有它们…… 一定是跑酷和节奏游戏的天堂 ★★★ — Muse Dash!! 咦?!不是你的强项?没关系! 谁说你必须有很强的节奏感才能获胜? 避免也是一个有效的选项 (?) 只要你对可爱的女孩有100%的热情、勇气和……爱~ 节奏和战斗都不是问题ヾ(❛ᴗ˂)♥️ 评分 #精品 作者 #peropero #PC#安卓#音游#正经游戏#官中#ACT #喵斯快跑#Muse Dash 入正地址 下载地址