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 слични објави

Пребарај: #rrr

当前筛选 #rrr清除筛选
MyGov Newsdesk

@MyGovCoronaNewsdesk · Post #12758 · 23.05.2023 г., 04:47

Calling all musicians and composers! 🎶🎼 Participate in the RRR Theme Song Contest and create a captivating anthem that embodies the spirit of Reduce, Reuse & Recycle. Visit: https://innovateindia.mygov.in/rrr-theme-song-contest/ #RRR

Hashtags

PikPak磁链资源分享

@PikPak_Share_Channel · Post #479 · 25.05.2022 г., 04:11

资源名称:🔥《RRR》(2022年)4K&1080P版,霍巴霍利王导演超又一神作,豆瓣7.4分的爽动作片(内含阿里云盘福利码预告) 描述:🔥资源简介:霍巴霍利王两部获得了巨大的成功,这一次导演将会带给我什么样的惊喜。本故事线算是新颖的,场面也是非常宏大,实打实的大片,典型的Rajamouli出品。剧中启用了大量的白人演员,不同于南印演员的表演方法,他们的出现带来一股十足的清新感。 🧲 链接: magnet:?xt=urn:btih:E3CAEC035CF1BB8330BC9BCD1F4D6016EEE2890D 👉使用 PikPak 秒存,立即在线观看👈 📁 文件大小:23.6G 🏷 文件类型:#RRR#动作#印度#4K 👨🏼‍🚀 来自分享:雷锋 📢 频道:@PikPak_Share_Channel 👥 群组:@PikPak_Share_Group

Bloomberg4you

@Bloomberg4you · Post #47246 · 23.01.2026 г., 05:24

Центральный банк Китая влил рекордную сумму средств в банковскую систему💸 В январе Народный банк Китая (НБК) влил в банки 1 трлн юаней (144 млрд долларов) среднесрочной и долгосрочной ликвидности, что стало рекордным показателем. 📊 Основные моменты 📌 Инструменты: Операции прямого обратного выкупа на 3 и 6 месяцев, а также предоставление среднесрочных кредитов на 1 год. Цель: Поддержка экономики, которая испытывает трудности из-за слабого внутреннего спроса. Праздник весны: Ожидается рост спроса на наличные в банках в преддверии празднования Нового года по лунному календарю в середине февраля. Контекст 🔍 Заявления НБК: Представители НБК заявили о возможности дальнейшего смягчения политики, включая снижение процентных ставок и норматива обязательных резервов банков (НОР). Облигации: Доходность 30-летних суверенных облигаций снизилась примерно на пять базисных пунктов из-за ожиданий смягчения политики НБК. Аналитики: Ожидают снижения RRR на 25 базисных пунктов в первом и втором кварталах. Следите за нашими обновлениями, чтобы оставаться в курсе последних изменений в экономике и политике! #Китай#ЦентральныйБанк#Ликвидность#ДенежноКредитнаяПолитика#Экономика#Облигации#RRR#ПраздникВесны