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

Резултати

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

Пребарај: #redpocket

当前筛选 #redpocket清除筛选
damm 的 eSIM 基地通知专用

@esimhelp · Post #2722 · 24.12.2025 г., 09:24

#redpocket 🇺🇸红包卡ebay专属(GSMA)包年套餐回归: https://www.ebay.com/itm/136840233242 购买: 选择eSIM版本购买后ebay注册邮箱会收到eSIM激活码在官网激活即可。 漫游: 收发国际短信,1Gb全球多地漫游流量(ATT家宽),中国大陆漫游中国移动/中国联通,也可额外购买频道介绍过的漫游额度(5刀/Gb)。上网(安卓)APN: Name: RedPocket Mobile APN: ERESELLER Proxy: Not set Port: Not set Username: Not set Password: Not set Server: Not set MMSC: http://mmsc.mobile.att.net MMS proxy: proxy.mobile.att.net MMS port: 80 MCC: 310 MNC: 410 Authentication Type: None APN type: default,supl,mms,fota APN protocol: IPv4/IPv6 Bearer: Unspecified 更换eSIM: 官网2刀购买eSIM更换码并接码验证。 续费: 同店30刀购买续费码(官网续费需含税45刀)。 wificalling: 美国(ip)外仅支持短信收发。 来源:@eSIMhelp

Hashtags

Аргунь阿尔贡

@argunriver · Post #330 · 10.04.2024 г., 05:48

美国Red Pocket (红包卡) eSIM疑似下架 Red Pocket官网已经下架eSIM卡类别,无法购买$2 GSMT eSIM的激活码,链接也已失效。 目前尚不确定是否会恢复,且不确定是否可以通过官方渠道更换设备或将实体卡转为eSIM。 群友反馈,此前曾加强了限制,甚至要求付款IP与付款账单地址相差不超过一定距离。 ⛱️标签:#RedPocket#eSIM#下架 🌠频道:@ArgunRiver 🌌投稿:@ArgunRiver_bot

beng!

@mdmbeng · Post #2249 · 12.11.2024 г., 05:59

#RedPocket#红包卡#手机卡#美国 RedPocket红包卡涨价📈 由原来每月2.5美元涨价到每月3.75美元。且现在在ebay购买寄送到美国本土需要付邮费。 via. 骑车Boy 频道:@mdmbeng 投稿:@mdmbeng_Bot

Аргунь阿尔贡

@argunriver · Post #12 · 22.02.2024 г., 11:45

🥲阿尔贡 标签导航 (0.9) 虚拟钱包 #ChipperCash #Paga #Cardify #Klasha 虚拟货币 #交易所 #Binance #OKX 电话卡 #eSIM #eSTK #5ber #Airtel #MTN #RedPocket #hahaSIM 娱乐资讯 #公测 #游戏 #暴雪 #动画疯 #网易 #Xbox #涨价 #腾讯 科技资讯 #Apple #Google #小米 #Tesla #下架 #黑客 #尼日利亚 #硬盘 #存储 人文专题 #一言 #早安 #晚安 #诗歌 #历史上的今天 群务相关 #群务 #黑名单 #活动 🥲本频道创建于2024.2.17 投稿bot:@ArgunRiver_bot 黑名单:@Argunblocklist 群组:@RiverArgun 业务联系:@Dosthgreat ✅购买产品请按要求填写工单点这里