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

Резултати

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

Пребарај: #koho

当前筛选 #koho清除筛选
【AFF】发布/使用

@affman668 · Post #157 · 29.06.2024 г., 16:59

#KOHO🇨🇦 入金50 CAD 返25CAD! 介绍: 加拿大数字钱包,提供虚拟卡,可加Apple pay。 充值满50CAD,即可立即获赠四个月koho会员的奖励!我返25 CAD走我aff全包售后解答 ⏺链接: https://web.koho.ca/referral/YS2DZEH2 或者使用Code在app 注册:YS2DZEH2 ⏺要求: 国内护照 录视频(英语读一组数字)、Googlemap随便找一个加拿大地址 +1号码(GV也可以) 加拿大🇨🇦区App Store下载app(可以拿其他区转、很方便,还可以再转回来) ✨iOS端基本秒过,安卓端可能有bug ⏺入金方式: Paysend(秒到账); 打开App,点击Add Money - 选择INTERAC e-Transfer - 复制KOHO(Instant)的email ⏺只有走我aff才能拿到25CAD和四个月免费会员奖励!不会的可以问我 ⏺链接: https://web.koho.ca/referral/YS2DZEH2 或者 注册code: YS2DZEH2 ⭐️联系: @Ch1ikawa uid: 6048468107 谢谢宝宝们

Hashtags

【AFF】发布/使用

@affman668 · Post #152 · 23.06.2024 г., 17:14

#KOHO🇨🇦 入金50 CAD 返25CAD! 介绍: 加拿大数字钱包,提供虚拟卡,可加Apple pay。 充值满50CAD,即可立即获赠四个月koho会员的奖励!我返25 CAD走我aff全包售后解答 ⏺链接: https://web.koho.ca/referral/YS2DZEH2 或者使用Code在app 注册:YS2DZEH2 ⏺要求: 国内护照 录视频(英语读一组数字)、Googlemap随便找一个加拿大地址 +1号码(GV也可以) 加拿大🇨🇦区App Store下载app(可以拿其他区转、很方便,还可以再转回来) ✨iOS端基本秒过,安卓端可能有bug ⏺入金方式: Paysend(秒到账); 打开App,点击Add Money - 选择INTERAC e-Transfer - 复制KOHO(Instant)的email ⏺只有走我aff才能拿到25CAD和四个月免费会员奖励!不会的可以问我 ⏺链接: https://web.koho.ca/referral/YS2DZEH2 或者 注册code: YS2DZEH2 ⭐️联系: @Ch1ikawa uid: 6048468107 谢谢宝宝们

Hashtags

【AFF】发布/使用

@affman668 · Post #151 · 23.06.2024 г., 15:11

#KOHO🇨🇦 ⏺介绍: 加拿大数字钱包,提供虚拟卡,可加Apple pay。 一次性消费满51CAD,即可立即获得50CAD的奖励!可直接提现!走我aff全包售后解答 ⏺链接: https://web.koho.ca/referral/IPJVCU6K 或者使用Code在app注册:IPJVCU6K ⏺要求: 护照、人脸录视频(英语读一串数字)、加拿大地址、+1号码。 iOS端基本秒过,安卓端可能有bug ⏺入金方式: Paysend(秒到账); 打开App,点击Add Money - 选择INTERAC e-Transfer - 复制KOHO(Instant)的email 只有走aff才能拿到50CAD奖励! 链接:https://web.koho.ca/referral/IPJVCU6K 或者 注册code:IPJVCU6K UID:5840438468 ⭐️联系: @New_Money_520

Hashtags

【AFF】发布/使用

@affman668 · Post #89 · 25.04.2024 г., 22:39

#KOHO 官网: https://www.koho.ca 下载方式: iOS仅支持加拿大区,安卓同理 开户要求: 护照+人脸+加拿大地址(地图随便找一个),手机号支持GV,到输手机号那步时,底下有栏可以填写邀请码:QDXFOPSZ 按照主页显示的步骤完成:入金21CAD并消费21CAD,可以获得官方给的20CAD奖励,走我邀请可以再给你10CAD≈52CNY 开户成功后自带一张虚拟卡,可以添加到Apple Wallet,卡BIN:559994。 入金方式:Wise/Paysend,后者秒到且小额汇率优,Wise只有固定手续费0.66CAD,但是需要一两天,适合汇大额。 联系:七瀬 UID:1046416080

Hashtags

【AFF】发布/使用

@affman668 · Post #87 · 25.04.2024 г., 05:14

#KOHO🇨🇦 ⏺介绍: 加拿大数字钱包,提供虚拟卡,可加Apple pay。 一次性消费满21CAD,即可立即获得20CAD的奖励!可直接提现!全包售后解答 ⏺链接: https://web.koho.ca/referral/E15OF27I 或者使用Code在app注册:E15OF27I ⏺要求: 护照、人脸录视频(英语读一串数字)、加拿大地址、+1号码。 iOS端基本秒过,安卓端可能有bug ⏺入金方式: Paysend(秒到账); 打开App,点击Add Money - 选择INTERAC e-Transfer - 复制KOHO(Instant)的email 查看往期: #sendwave #212trading ⭐️联系: @Ch1ikawa UID:6048468107 谢谢宝宝们

Hashtags

【AFF】发布/使用

@affman668 · Post #86 · 25.04.2024 г., 03:37

#KOHO 官网: https://www.koho.ca 下载方式: iOS仅支持加拿大区,安卓同理 开户要求: 护照+人脸+加拿大地址(地图随便找一个),手机号支持GV,到输手机号那步时,底下有栏可以填写邀请码:QDXFOPSZ 按照主页显示的步骤完成:入金21CAD并消费21CAD,可以获得官方给的20CAD奖励,走我邀请可以再给你10CAD≈52CNY 开户成功后自带一张虚拟卡,可以添加到Apple Wallet,卡BIN:559994。 入金方式:Wise/Paysend,后者秒到且小额汇率优,Wise只有固定手续费0.66CAD,但是需要一两天,适合汇大额。 联系:七瀬 UID:1046416080

Hashtags

【AFF】发布/使用

@affman668 · Post #82 · 24.04.2024 г., 03:35

#KOHO🇨🇦 ⏺介绍: 加拿大数字钱包,提供虚拟卡,可加Apple pay。 一次性消费满21CAD,即可立即获得20CAD的奖励!可直接提现!全包售后解答 ⏺链接: https://web.koho.ca/referral/E15OF27I 或者使用Code在app注册:E15OF27I ⏺要求: 护照、人脸录视频(英语读一串数字)、加拿大地址、+1号码。 iOS端基本秒过,安卓端可能有bug ⏺入金方式: Paysend(秒到账); 打开App,点击Add Money - 选择INTERAC e-Transfer - 复制KOHO(Instant)的email 查看往期: #sendwave #212trading ⭐️联系: @Ch1ikawa UID:6048468107 谢谢宝宝们

Hashtags

【AFF】发布/使用

@affman668 · Post #72 · 22.04.2024 г., 23:32

#KOHO 官网: https://www.koho.ca 下载方式: iOS仅支持加拿大区,安卓同理 开户要求: 护照+人脸+加拿大地址(地图随便找一个),手机号支持GV,到输手机号那步时,底下有栏可以填写邀请码:QDXFOPSZ 按照主页显示的步骤完成:入金21CAD并消费21CAD,可以获得官方给的20CAD奖励,走我邀请可以再给你10CAD≈52CNY 开户成功后自带一张虚拟卡,可以添加到Apple Wallet,卡BIN:559994。 入金方式:Wise/Paysend,后者秒到且小额汇率优,Wise只有固定手续费0.66CAD,但是需要一两天,适合汇大额。 联系:七瀬 UID:1046416080

Hashtags

【AFF】发布/使用

@affman668 · Post #69 · 22.04.2024 г., 13:22

#KOHO🇨🇦 ⏺介绍: 加拿大数字钱包,提供虚拟卡,可加Apple pay。 一次性消费满21CAD,即可立即获得20CAD的奖励!可直接提现!走我aff全包售后解答 ⏺链接: https://web.koho.ca/referral/Q5F4MR2U 或者使用Code在app注册:Q5F4MR2U ⏺要求: 护照、人脸录视频(英语读一串数字)、加拿大地址、+1号码。 iOS端基本秒过,安卓端可能有bug ⏺入金方式: Paysend(秒到账); 打开App,点击Add Money - 选择INTERAC e-Transfer - 复制KOHO(Instant)的email 只有走aff才能拿到20CAD奖励! 链接:https://web.koho.ca/referral/Q5F4MR2U 或者 注册code:Q5F4MR2U UID:5840438468 ⭐️联系: @New_Money_520

Hashtags

【AFF】发布/使用

@affman668 · Post #66 · 22.04.2024 г., 02:53

#KOHO 官网: https://www.koho.ca 下载方式: iOS仅支持加拿大区,安卓同理 开户要求: 护照+人脸+加拿大地址(地图随便找一个),手机号支持GV,到输手机号那步时,底下有栏可以填写邀请码:QDXFOPSZ 按照主页显示的步骤完成:入金21CAD并消费21CAD,可以获得官方给的20CAD奖励,走我邀请可以再给你5CAD≈26CNY 开户成功后自带一张虚拟卡,可以添加到Apple Wallet,卡BIN:559994。 入金方式:Wise/Paysend,后者秒到且小额汇率优,Wise只有固定手续费0.66CAD,但是需要一两天,适合汇大额。 联系:七瀬 UID:1046416080

Hashtags

【AFF】发布/使用

@affman668 · Post #58 · 20.04.2024 г., 23:14

#KOHO 官网: https://www.koho.ca 下载方式: iOS仅支持加拿大区,安卓同理 开户要求: 护照+人脸+加拿大地址(地图随便找一个),手机号支持GV,到输手机号那步时,底下有栏可以填写邀请码:QDXFOPSZ 按照主页显示的步骤完成:入金21CAD并消费21CAD,可以获得官方给的20CAD奖励,走我邀请可以再给你5CAD≈26CNY 开户成功后自带一张虚拟卡,可以添加到Apple Wallet,卡BIN:559994。 入金方式:Wise/Paysend,后者秒到且小额汇率优,Wise只有固定手续费0.66CAD,但是需要一两天,适合汇大额。 联系:七瀬 UID:1046416080

Hashtags

【AFF】发布/使用

@affman668 · Post #56 · 20.04.2024 г., 11:15

#KOHO 加拿大數字銀行 🎉 加入KOHO,體驗無銀行賬戶的數字金融新時代! 🎉 ⏬ App Store(加拿大):https://apps.apple.com/app/id1091010942 ⏬ Play Store:https://play.google.com/store/apps/details/KOHO_Finances_Personnelles?id=ca.koho&hl=ln ✨ 本人註冊時間:2021年10月至今 ✨ 註冊非常簡單,只需要一個Google Voice號碼、護照、拍攝視頻(念一串數字)、加拿大地址(網上搜一個即可,如果你想要實體卡,那你可以去Anytimemailbox租一個地址) ✨ 開戶成功免費提供一張虛擬卡和實體卡,實體卡不強制,選擇性要不要;虛擬卡Bin:559994 ✨ 用我的专属邀请码: 7YAPVLRU ✨ 註冊步驟:下載App👉輸入郵箱和密碼👉輸入名字生日👉輸入工作信息👉輸入加拿大地址👉輸入一個+1手機號碼(可以是GV)👉Have a referral code?輸入我的邀請碼:7YAPVLRU 🌟 註冊並成功入金21CAD,然後單筆消費滿21CAD即可獲得20CAD的獎勵(可以綁定AlipayHK消費(掃自己內地商戶碼也行,也可以SEAGM買PIN)、也可以來找我套現(給你港幣,需要扣HK$5手續費) T+1(不含週六日),今天消費,明天給你!🌟 📈 匯率參考:HK$21扣了CAD$3.71 🌟 入金方式:Paysend(實測Paysend秒到賬);打開App,點擊Add Money - 選擇INTERAC e-Transfer - 複製KOHO(Instant)提供給你的email即可 🌟 Paysend註冊邀請鏈結:https://paysend.com/referral/04qsfz 🌟 也可以在匯款的時候填寫我的邀請碼:04qsfz 💳 使用KOHO預付卡,輕鬆管理您的日常消費,無需傳統銀行賬戶!💳 🛍️ 一次性消費滿21CAD,即可立即獲得20CAD的獎勵!🛍️ 🚀 加入KOHO,享受便捷、安全、有趣的數字銀行體驗!🚀 立即註冊KOHO,一起探索數字金融的新世界吧! 聯繫:@IEQ0Pa UID:407008460

Hashtags

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