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

Резултати

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

Пребарај: #xmind

当前筛选 #xmind清除筛选
SweetShare Channel

@SweetShareChannel · Post #320 · 20.08.2022 г., 05:37

//SweetShare共享请求: 平台:#XMind 2022 价格:35/年/人 XMind 2022 思维导图 App 一年订阅,到期时间 2023.8.20。5人车共享账号,每人限一个桌面( MAC/PC )和一个移动设备( iOS/iPad/安卓)。翻车退款,跳车不退 车牌:蒙TK290L 上车请联系:@SweetTicketsBot

Hashtags

SweetShare Channel

@SweetShareChannel · Post #254 · 29.07.2022 г., 00:57

//SweetShare共享请求: 平台:#Xmind 价格:35/年/人 备注:#XMind 2022一年订阅,到期时间2023.07.29。5人车缺4,共享账号,每人限一个桌面(PC/MAC)和一个移动设备(iPad/iOS/Android)。翻车退款,跳车不退 车牌:京RMLQ8W 上车请联系:@SweetTicketsBot

Hashtags

SweetShare Channel

@SweetShareChannel · Post #184 · 16.06.2022 г., 10:52

//SweetShare共享请求: 平台:#Xmind 价格:年付40 备注:国区XMind 2021一年订阅 (桌面+移动版),5缺一,年付40,限 一个桌面 和 一个移动设备(请严格遵守)翻车退款,跳车不退。。 车牌:琼Y8GBEU 上车请联系:@SweetTicketsBot

Hashtags

Functional Store Hub - 不止于脚本

@functional_store_hub · Post #59 · 13.08.2022 г., 12:36

🍿Xmind——解锁会员订阅 #Xmind#Surge#QuantumultX#Loon#Stash#Egern#Shadowrocket ——————————————— ▎下载地址: Apple Store ▎覆写地址: https://github.com/I-am-R-E/Functional-Store-Hub/tree/Master/Xmind ▎解锁方法:在覆写地址中找到自己的软件的覆写订阅并引用 ▎特别提示: ❶需要登陆账号 ❷所有覆写文件及脚本均由刚写好的快捷指令快速生成,如遇到错误请及时反馈谢谢 ❸ Mac版下载:点击跳转 ——————————————— 👔作者: RickeyErickson 💻频道: Functional Store Hub 🏠仓库: I-am-R-E

Fang的资源分享群

@flmdongtianfudi · Post #16325 · 21.03.2026 г., 13:02

2025款最新Xmind破解版 - 思维导图助手【PC】 提供最新版本的Xmind思维导图软件破解版,助力用户高效整理思维,规划项目与创意,实现可视化表达,提升工作与学习效率。 🔗:https://pan.quark.cn/s/bb872fee9f44 #Xmind#思维导图#破解版#PC软件#效率工具#可视化表达 🔔Twitter👥频道💬群组

Fang的资源分享群

@FLMdongtianfudi · Post #14876 · 25.10.2025 г., 08:27

XMind v24.10.02299 思维导图效率软件,解锁付费版 一款功能强大的思维导图软件,帮助用户有效整理思维、规划项目与提升工作效率,支持多种导图模板与导出格式,是个人和团队的理想选择。 🔗:https://pan.quark.cn/s/b2c730b68034 #XMind#思维导图#效率软件#项目管理#工作规划#思维整理#个人生产力 🔔Twitter👥频道💬群组

Nahida🍃 Bookmarks

@NahidaBookmarks · Post #28 · 24.09.2022 г., 22:59

#cross_platform#mobile#desktop#win#mac#ios#android#linux#electron#software#mind_map#xmind#paid#productivity 数一数二的思维导图工具。公司总部在深圳,国产软件。(虽然原来的时候很多人没了解过)跟Typora一样在细分领域做到了世界领先 免费使用带导出水印,但是绝大部分功能没有限制。 收费单用户(5桌面端+5移动端)¥388/$59.99 一年似乎涨价了,教育优惠打折中 ¥99/年 https://xmind.cn/

12
ПретходнаСтраница 1 од 2Следна