@godlynews1 · Post #14054 · 09.11.2025 г., 12:31
恭喜T1,恭喜Faker 完成五冠传奇! BLG 2:3 遗憾夺亚,还是没能完成全华班夺冠的愿望。 🗒 标签: #LOL 📢 频道: @GodlyNews1 🤖 投稿: @GodlyNewsBot
Hashtags
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
Пребарај: #lol
@godlynews1 · Post #14054 · 09.11.2025 г., 12:31
恭喜T1,恭喜Faker 完成五冠传奇! BLG 2:3 遗憾夺亚,还是没能完成全华班夺冠的愿望。 🗒 标签: #LOL 📢 频道: @GodlyNews1 🤖 投稿: @GodlyNewsBot
Hashtags
@isakovxusniddin · Post #6983 · 03.09.2023 г., 18:37
⚡️Fotih aka Duman Turkiyadan mening ismimga yangi "Lol" kitobini imzolab berib yuboribti) Yangi kitob O'zbekistonga keldi, Qamar do'konlaridan ushbu kitobni sotib olishingiz mumkin. #Lol @isakovxusniddin
Hashtags
@MEXC_FairPrice_Spreads · Post #1610 · 09.04.2026 г., 01:50
#LOL | 12.25% | LONG🟢 Last Price: 0.007993 Fair Price: 0.009109 Max Leverage: 20x Max Size: 79.93$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1602 · 08.04.2026 г., 10:58
#LOL | 10.12% | LONG🟢 Last Price: 0.005498 Fair Price: 0.006117 Max Leverage: 20x Max Size: 54.98$ MEXC Fair Price Spreads
Hashtags
@MEXC_FairPrice_Spreads · Post #1536 · 29.03.2026 г., 01:35
#LOL | 13.07% | SHORT🔴 Last Price: 0.00558 Fair Price: 0.004935 Max Leverage: 20x Max Size: 55.80$ MEXC Fair Price Spreads
Hashtags
@siubeng_store · Post #396 · 19.11.2023 г., 07:58
#LOL 又一年世界总决赛,实力差距有点大,看教练组有没有好对策了,希望 WBG 不要被 T1 3:0
Hashtags
@siubeng_store · Post #256 · 07.05.2021 г., 14:00
#LOL 自己整理的 MSI 2021 小组赛赛程日历 Google 日历:直接加入 其他日历(ics 格式):https://calendar.google.com/calendar/ical/34d8f499ejh159175cuugoqh3o%40group.calendar.google.com/public/basic.ics
Hashtags
@siubeng_store · Post #253 · 18.04.2021 г., 09:10
#LOL LPL 春季总决赛宣传片 https://b23.tv/WB2hcG 暗示今晚有翻盘?
Hashtags
@siubeng_store · Post #251 · 14.04.2021 г., 02:05
#LOL 原来昨天 RNG 2:0 EDG 的情况下第三局有一波团是能够结束比赛的,然而在 TP 保小兵时出现 bug,小兵在被 TP 结束时没有正确地免疫伤害导致被击杀… 接下来变成了一场险些让 EDG 让二追三的比赛,好在 RNG 第五局还是赢了下来。 转载一条 bug 测试:https://b23.tv/FDD8P6
Hashtags
@jingdianyxdnf · Post #241 · 15.11.2024 г., 00:19
十年王者无人识,一招塔姆天下知o。O?! #lol
Hashtags
@siubeng_store · Post #203 · 16.10.2020 г., 05:45
#LOL😪
Hashtags
@siubeng_store · Post #201 · 15.10.2020 г., 08:23
#LOL S10 世界赛 本周淘汰赛赛程(八进四) 上周小组赛结束后抽签让 LPL(中国大陆)赛区的三支战队分到同一个半边,LCK(南韩)赛区的三支战队也都分到另一个半边,组成了本次 LPL/LCK 秋季赛(划掉)。剩余的两个名额分别由同来自 LEC(欧洲)赛区的 G2 和 FNC 取得。 今日以 DWG 对阵 DRX 的 LCK 内战拉开淘汰赛的帷幕。 赛程安排(Timezone: Asia/Shanghai): · 10.15 周四 18:00 DWG (LCK) vs DRX (LCK) · 10.16 周五 18:00 SN (LPL) vs JDG (LPL) · 10.17 周六 18:00 TES (LPL) vs FNC (LEC) · 10.18 周日 18:00 GEN (LCK) vs G2 (LEC) Bilibili | YouTube(DWG vs DRX)
Hashtags