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

Резултати

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

Пребарај: #stocksurge

当前筛选 #stocksurge清除筛选
Crypto M - Crypto News

@CryptoM · Post #64530 · 09.04.2026 г., 06:25

🚀 Hong Kong Stocks: Maanshan Iron & Steel Shares Surge Over 7% Shares of Maanshan Iron & Steel Co., Ltd. (00323.HK) experienced a significant rise in the Hong Kong stock market, climbing over 7% in the afternoon trading session. According to Jin10, this upward movement reflects a positive market sentiment towards the company's performance. Investors are closely monitoring the stock as it continues to show strong momentum. #HongKongStocks#MaanshanIronSteel#StockSurge#MarketMomentum#InvestorSentiment

Crypto M - Crypto News

@CryptoM · Post #64819 · 10.04.2026 г., 02:12

🚀 Youzan Shares Surge Following Approval for Main Board Listing Youzan (08083.HK) shares on the Hong Kong Stock Exchange experienced a significant increase, rising over 20% at one point and currently up by 17%. According to Jin10, the surge follows news that the company has received approval to transfer its listing to the main board. The transition is expected to occur on April 17. #Youzan#HongKongStockExchange#MainBoardListing#StockSurge#Finance#Investment

Crypto M - Crypto News

@CryptoM · Post #65347 · 13.04.2026 г., 01:49

🚀 Hong Kong's First Token Stock XunCe Surges Over 20% Hong Kong's stock market witnessed a significant rise in XunCe (03317.HK), known as the first token stock, as it surged over 20%. According to Jin10, this increase contributes to a cumulative rise of more than 625% since the beginning of the year. #HongKong#StockMarket#XunCe#TokenStock#StockSurge#Finance#Investment

Crypto M - Crypto News

@CryptoM · Post #64830 · 10.04.2026 г., 02:56

🚀 Zhida Technology Surges Over 23% on Inclusion in Stock Connect Zhida Technology (02650.HK) experienced a significant increase in its stock price, rising over 23% with a trading volume exceeding 50 million yuan. According to Jin10, the surge follows the announcement that Zhida Technology has been included in the list of eligible securities for the Shanghai-Hong Kong Stock Connect and Shenzhen-Hong Kong Stock Connect programs. This inclusion is expected to enhance the company's visibility and accessibility to investors, potentially driving further interest and investment. #ZhidaTechnology#StockConnect#ShanghaiHongKongStockConnect#ShenzhenHongKongStockConnect#StockSurge#Investment#TradingVolume