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

Резултати

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

Пребарај: #bull

当前筛选 #bull清除筛选
РУСБИЗНЕСАВТО🚜🚌

@rbauto_ru · Post #5735 · 20.04.2026 г., 09:21

👀 Ищете надежный полноприводный каток для уплотнения грунта, который не подведет на тяжелых объектах? 🔥ВЫБИРАЙТЕ BULL🔥 Почему #BULL? ✅Полный привод — никаких пробуксовок и застреваний даже на влажных грунтах. ✅Выбор массы — от компактных 18 до тяжелых 36 тонн. Есть модель под любые задачи: от планировки до строительства насыпей. Что получаете: ✅ Высокую производительность за смену. ✅Простую гидравлику и доступный сервис. ✅Отличное уплотнение нескальных и крупнообломочных грунтов. 📍 Подберем лучшую технику для вас ➡️ 8 800 700 67 50 🇷🇺 Мы вMAX💙 Мы вВК

Hashtags

Futures <> DEX

@mexcTracker · Post #149394 · 17.04.2026 г., 22:29

Arbitrage with BULL ended 27s BULL | #BULL| 8.11% | Short 🔴💚👌 Origin: MEXC (PUMP) [M: 6% VS D: -2%] Price MEXC: 0.003961 Spot: 0.00372 Price Dexscreener: 0.003664 Chain:#solanaDep✅W/d✅ CA:3TYgKwkE2Y3rxdw9osLRSpxpXmSC1C1oo19W9KHspump MEXC DEX MC - $3.66M V1h - $85.41K V24h $165.54K $2.75M Liq - $222.42K Limit $39.61 - Fund 0.0200% - Short ✓: 89% (143✓ / 18✗ / 14=) 👍 | Avg: 3m, 46s source // chat // me

Hashtags

Futures <> DEX

@mexcTracker · Post #149392 · 17.04.2026 г., 22:25

Arbitrage with BULL ended 27s BULL | #BULL| 8.0% | Short 🔴💚👌 Origin: DEX (DUMP) [M: 2% VS D: -5%] Price MEXC: 0.00393 Spot: 0.00385 Price Dexscreener: 0.003639 Chain:#solanaDep✅W/d✅ CA:3TYgKwkE2Y3rxdw9osLRSpxpXmSC1C1oo19W9KHspump MEXC DEX MC - $3.64M V1h - $90.45K V24h $164.57K $2.75M Liq - $221.53K Limit $39.30 - Fund 0.0200% - Short ✓: 89% (140✓ / 18✗ / 14=) 👍 | Avg: 3m, 50s source // chat // me

Hashtags

Futures <> DEX

@mexcTracker · Post #149386 · 17.04.2026 г., 21:54

Arbitrage with BULL ended 2m, 29s BULL | #BULL| 8.45% | Short 🔴💚👌 Origin: DEX (DUMP) [M: 2% VS D: -6%] Price MEXC: 0.003823 Spot: 0.003754 Price Dexscreener: 0.003525 Chain:#solanaDep✅W/d✅ CA:3TYgKwkE2Y3rxdw9osLRSpxpXmSC1C1oo19W9KHspump MEXC DEX MC - $3.53M V1h - $110.63K V24h $166.31K $2.77M Liq - $218.11K Limit $38.23 - Fund 0.0200% - Short ✓: 88% (136✓ / 18✗ / 14=) 👍 | Avg: 3m, 52s source // chat // me

Hashtags

Futures <> DEX

@mexcTracker · Post #149367 · 17.04.2026 г., 20:49

Arbitrage with BULL ended 23s BULL | #BULL| 7.27% | Short 🔴💚👌 Origin: DEX (DUMP) [M: 3% VS D: -4%] Price MEXC: 0.004088 Spot: 0.003988 Price Dexscreener: 0.003811 Chain:#solanaDep✅W/d✅ CA:3TYgKwkE2Y3rxdw9osLRSpxpXmSC1C1oo19W9KHspump MEXC DEX MC - $3.81M V1h - $130.88K V24h $164.23K $2.69M Liq - $225.98K Limit $40.88 - Fund 0.0200% - Short ✓: 88% (131✓ / 18✗ / 14=) 👍 | Avg: 3m, 56s source // chat // me

Hashtags

Futures <> DEX

@mexcTracker · Post #149351 · 17.04.2026 г., 20:31

Arbitrage with BULL ended 44s BULL | #BULL| 15.4% | Short 🔴💚👍 Origin: DEX (DUMP) [M: -0% VS D: -13%] Price MEXC: 0.004151 Spot: 0.004156 Price Dexscreener: 0.003597 Chain:#solanaDep✅W/d✅ CA:3TYgKwkE2Y3rxdw9osLRSpxpXmSC1C1oo19W9KHspump MEXC DEX MC - $3.60M V1h - $58.77K V24h $158.14K $2.62M Liq - $220.30K Limit $41.51 - Fund 0.0200% - Short ✓: 88% (129✓ / 18✗ / 14=) 👍 | Avg: 3m, 58s source // chat // me

Hashtags

Futures <> DEX

@mexcTracker · Post #149175 · 17.04.2026 г., 14:43

Arbitrage with BULL ended 14s BULL | #BULL| 7.62% | Long 🟢💚👌 Origin: DEX (PUMP) [M: -3% VS D: 5%] Price MEXC: 0.0052 Spot: 0.005355 Price Dexscreener: 0.005629 Chain:#solanaDep✅W/d✅ CA:3TYgKwkE2Y3rxdw9osLRSpxpXmSC1C1oo19W9KHspump MEXC DEX MC - $5.63M V1h - $158.17K V24h $154.97K $2.46M Liq - $275.55K Limit $52.00 - Fund 0.0200% - Long ✓: 70% (7✓ / 3✗ / 3=) 👍 | Avg: 20s source // chat // me

Hashtags

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