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

Резултати

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

Пребарај: #bvn

当前筛选 #bvn清除筛选
beng!

@mdmbeng · Post #2467 · 08.05.2025 г., 09:02

#BVN#业务相关 ⚠️注册办理尼日利亚BVN/NIN不要贪便宜或图省事⚠️ 市面的BVN大多数会被检测出异常,用这种BVN/NIN开出来的钱包说不定什么时候就会爆炸,锁号,锁钱,BVN与余额皆失。 便宜一时爽,锁号火葬场 频道:@mdmbeng 投稿:@mdmbeng_Bot

beng!

@mdmbeng · Post #2137 · 09.09.2024 г., 11:05

#更新 #BVN #教程 深圳BVN办理地点已搬迁,请勿前往旧地址 新地址在 这个教程里 同步更新,互相转告,别白跑一趟 via. NoNo☄️❄️Shine ✔️另外BVN目前的使用范围大致是: 1.交易所(bybit、bitget、币安) 2.钱包(kuda、klasha、opay、cardify)均为1级,其中有部分需要配合+234使用 评论区补充其他用途 频道:@mdmbeng 投稿:@mdmbeng_Bot

【AFF】发布/使用

@affman668 · Post #188 · 15.07.2024 г., 09:22

#aff#尼日利亚#Eversend#BVN 点击下面的链接下载App,下载完后再次点击该链接开始注册 https://eversend.page.link/t4mo 使用+234和BVN注册,入金ngn后你我各得240NGN奖励,有虚拟卡 支持cn护照kyc,需要人脸视频 支持Wise,n26或其他银行入金,有BVN可以开无限额ngn账号 联系:@mdmstore uid:6336360871

beng!

@mdmbeng · Post #1744 · 26.03.2024 г., 15:41

#CardifyAfrica#尼日利亚钱包#BVN BVN可开钱包喜+1🇳🇬CardifyAfrica钱包 特点: -尼日利亚美国虚拟卡(万事达1张、Visa2张) -尼日利亚奈拉虚拟卡(Verve1张) -无实体卡 -BVN和+234即可验证至最高级l2 -卡片限额单日最低 1w USD,50w ₦ -提供2个个人奈拉收款账户 🔊9Payment Service Bank 🔊SafeHaven Microfinance Bank -美元卡开卡费:3USD+2% -奈拉卡开卡费:1100₦ -均无月费 -支持交易所入金 (home→my cardify→my dollars→Send to friend on cardify) -不支持3ds 注册教程: 下载 APP 输入尼日利亚手机号+邮箱,按步骤填写个人信息和尼日利亚地址,即可完成kyc,需要接邮箱验证码和手机验证码 总结: 对比Chipper 月费:Cardify胜 入金便捷度/手续费:Chipper胜 卡片:Cardify胜(据说还能每个月都能开新卡) 功能:chipper胜,有3ds,可开tg大会员 BVN更多信息点我查看 频道:@mdmbeng 投稿:@mdmbeng_Bot