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

Резултати

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

Пребарај: #microstrategy

当前筛选 #microstrategy清除筛选
Michaël Van de Poppe Official

@michaelvandepoppeanalyst · Post #4830 · 13.09.2024 г., 15:54

MicroStrategy bought another 18,300 $BTC($1.11B) at $60,408 between Aug 6 and Sept 12! #MicroStrategy currently holds 244,800 $BTC($14.15B), and the average buying price is $38,585. At current prices, the profit is ~$4.71B!

SIGNAL

@finsignal · Post #3251 · 14.06.2024 г., 16:02

💰#MicroStrategy has announced an offer of convertible senior bonds maturing in 2032 in the amount of $500 million The company intends to use the net proceeds from the sale of bonds to purchase additional $BTC and for general corporate purposes.

SIGNAL

@finsignal · Post #2742 · 30.12.2023 г., 07:43

⚡️ MicroStrategy purchased another $ 14,620BTC for $ 615.7 million at an average price of $42110 per BTC As of December 26, 2023 — #MicroStrategy stores 189150 BTC purchased for $5.9 billion at an average price of $31,168

Elf Crypto VIP

@elfcryptovip · Post #11723 · 14.07.2025 г., 13:06

Just in: Strategy (prev. #MicroStrategy) has bought 4,225 $BTC for $472.5M at an average price of $111,827 per #Bitcoin They now hold 601,550 $BTC, bought for a total of approximately $42.87B at an average price of $71,268 per #Bitcoin💰

Onchain Lens Channel

@OnchainLens · Post #5987 · 23.03.2026 г., 12:11

Strategy (prev. #MicroStrategy) has bought 1,031 $BTC for $76.6M at an average price of $74,326 per #Bitcoin. They now hold 762,099 $BTC, bought for a total of ~$57.69B at an average price of $75,694 per #Bitcoin. https://x.com/OnchainLens/status/2036053169927852109 Follow @onchainlens for more onchain updates

Onchain Lens Channel

@OnchainLens · Post #5867 · 16.03.2026 г., 12:05

Strategy (prev. #MicroStrategy) has bought 22,337 $BTC for $1.57B at an average price of $70,194 per #Bitcoin. They now hold 761,068 $BTC, bought for a total of ~$57.61B at an average price of $75,696 per #Bitcoin. https://x.com/OnchainLens/status/2033514795459318052 Follow @onchainlens for more onchain updates

Onchain Lens Channel

@OnchainLens · Post #5778 · 09.03.2026 г., 12:05

Strategy (prev. #MicroStrategy) has bought 17,994 $BTC for $1.28B at an average price of $70,946 per #Bitcoin. They now hold 738,731 $BTC, bought for a total of ~$56.04B at an average price of $75,862 per #Bitcoin. https://x.com/OnchainLens/status/2030978061630603508 Follow @onchainlens for more onchain updates

Onchain Lens Channel

@OnchainLens · Post #5681 · 02.03.2026 г., 13:08

Strategy (prev. #MicroStrategy) has bought 3,015 $BTC for $204.1M at an average price of $67,700 per #Bitcoin. They now hold 720,737 $BTC, bought for a total of ~$54.77B at an average price of $75,985 per #Bitcoin. https://x.com/i/status/2028459100837974064 Follow @onchainlens for more onchain updates

Onchain Lens Channel

@OnchainLens · Post #5520 · 17.02.2026 г., 13:07

Strategy (prev. #MicroStrategy) has bought 2,486 $BTC for $168.4M at an average price of $67,710 per #Bitcoin. They now hold 717,131 $BTC, bought for a total of ~$54.52B at an average price of $76,027 per #Bitcoin. https://x.com/OnchainLens/status/2023746019868160182 Follow @onchainlens for more onchain updates

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