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

Резултати

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

Пребарај: #ichigo

当前筛选 #ichigo清除筛选
利姆诺斯岛·深空放送局📡

@limnosdsstation · Post #9920 · 02.02.2026 г., 11:58

#VRchat#3D衣装#3D装饰品#耳朵 メンダコ の 耳 扁面蛸之耳 以深海萌物扁面蛸为原型设计的可爱兽耳 已设定 PhysBone,动起来会有**“Poyo-poyo”**的软糯弹跳感,支持触摸互动 除基础材质外,还追加了通用的 Bubble (气泡) 材质,非常有水生生物的氛围 导入方法 【前置需求:lilToon & Modular Avatar 】 1.导入 UnityPackage 2.将对应模型的 Prefab 直接拖拽到 Avatar 根目录下即可 已适配的 Avatar #kipfel#Button#chocolat#ichigo#Elusion#Nochica#Eku#shinano#rurune#Milfy#Milltina#Lumina

利姆诺斯岛·深空放送局📡

@limnosdsstation · Post #10902 · 03.04.2026 г., 19:58

#VRChat#3D衣装#LookVook 🧸 LV.14 Teddy_Daddy🧸 泰迪小熊慵懒居家套装 在宽大衬衫的包裹中藏起那份不经意的俏皮,将那份漫不经心的性感发挥到了极致。无论是作为房间里的一抹温柔点缀,还是温馨贴贴时的私密选搭,它都是你衣柜里无可替代的氛围单品 【发售纪念特别特惠】(3/31 ~ 4/7): 单模型版:1400円 -> 990円 (超值低价!) 全套:2800円 -> 1980円 【第二阶段促销】(4/8 ~ 4/28): 单品:1100円 全套:2200円 技术规格 使用了最新的 VRC_Constraint,衬衫与玩偶的动态更加丝滑稳定 完美适配 Breast_Big / Small 等各种胸部 ShapeKey 环境要求:Unity 2022.3.22f1 + lilToon Shader 已适配的Avatar (全17种) #Mayo#Kumaly#Lumina#Ichigo#Shinano#Milfy#Milltina#Airi#Manuka#Moe#Selestia#Sio#Chocolat#Chiffon#Lime#Plum#Ramune 内容物 Unity_Package / PSD 原文件

利姆诺斯岛·深空放送局📡

@limnosdsstation · Post #10102 · 13.02.2026 г., 08:53

#VRchat#3D衣装#发型 ねこタイドボブヘア 猫系扎发波波头 上架纪念促销持续至 02/23 23:59(北京时间02/23 22:59) 1000円 → 800円 导入本产品前,请务必先安装 lilToon 和 Modular Avatar 的最新版本 注意事项 该发型将消耗 13 点参数内存 (Parameter Memory),请在使用前确认你的 Avatar 还有足够的剩余空间 拥有多达 92个 ShapeKey,配合 Modular Avatar 可以实现非常丰富的造型调整 已适配的Avatar #Airi#Shinano#Chocolat#Manuka#Milltina#Milfy#Sio#Rurune#Moe#Shinra#Nagi#Chiffon#Ichigo#Eku#Lumina#Karin#Ramune#Plum#Kumaly