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

Резултати

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

Пребарај: #cot

当前筛选 #cot清除筛选
Дивиденды Forever

@divforever · Post #29336 · 18.02.2026 г., 06:34

🇷🇺#VTBR#cot Новый крупный миноритарий ВТБ Евгений Юрченко продолжил наращивать долю в капитале госбанка, узнал РБК. Сейчас в его портфеле 7,55% акций. Инвестор объяснил стратегию в том числе предстоящей конвертацией префов «Это долгосрочное вложение, и в принятии инвестиционного решения я опираюсь на факты», — сказал Юрченко РБК и напомнил, что глава ВТБ Андрей Костин недавно подтвердил намерение банка показать по итогам 2026 года прибыль на уровне 650 млрд руб. и платить дивиденды. mt в max

Hashtags

Igor Pavensky

@ipavensky · Post #18001 · 06.04.2026 г., 05:21

❗️#пшеница#cot Впервые почти за 4 года хедж-фонды встали в чистый лонг по пшенице, делая ставку на рост цен, вызванный засушливой погодой в США и нехваткой удобрений и топлива из-за войны на Ближнем Востоке — BBG HEDGE FUNDS HAVE TURNED NET BULLISH ON WHEAT FOR THE FIRST TIME IN NEARLY FOUR YEARS mt в max

BE[IN]CRYPTO Новости и Трейдинг

@beincrypto_trading · Post #20765 · 05.03.2026 г., 10:36

📱 $BTC #крипто#cot Физики на МосБирже продолжают сокращать чистый лонг во фьючерсе на Индекс Биткоина — данные MSCinsider. 🟪Чат▫️Новостной канал▫️Премиум сигналы

BE[IN]CRYPTO Новости и Трейдинг

@beincrypto_trading · Post #20764 · 05.03.2026 г., 10:21

📱 $ETH #крипто#cot Физики на МосБирже продолжают сокращать чистый лонг во фьючерсе на Индекс Эфириума — данные MSCinsider. 🟪Чат▫️Новостной канал▫️Премиум сигналы

BE[IN]CRYPTO Новости и Трейдинг

@beincrypto_trading · Post #20753 · 04.03.2026 г., 09:47

📱 $BTC #крипто#cot Физики продолжают сокращать чистый лонг во фьючерсе на Bitcoin Trust ETF — данные MSCinsider. 🔗 Торговать $BTC ▫️OKX ▫️Bybit ▫️MEXC ▫️Kucoin 🟪Чат▫️Новостной канал▫️Премиум сигналы

BE[IN]CRYPTO Новости и Трейдинг

@beincrypto_trading · Post #20744 · 03.03.2026 г., 12:03

📱 $ETH #крипто#cot Физики на МосБирже сокращают чистый лонг во фьючерсе на Индекс Эфириума — данные MSCinsider. 🟪Чат▫️Новостной канал▫️Премиум сигналы

🌕#золото#cot#отчетность Центральные банки по всему миру продолжают увеличивать запасы золота: рост покупок наблюдается уже третий месяц подряд — данные WGC. В октябре было приобретено 53 тонны золота, что на 36% больше по сравнению с сентябрем; это самый крупный месячный прирост спроса с начала текущего года. В ноябре общий объем золота в мировых ETF увеличился еще на 38,5 тонны и достиг рекордных 3 931,8 тонны, что соответствует стоимости в $530,3 млрд — сообщает WGC. 🌐@EconRUDN

123•••101112
ПретходнаСтраница 1 од 12Следна