@gazaalanpa · Post #20687 · 01.04.2026 г., 07:01
#Now An Iranian missile has hit a building in Tel Aviv.
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
Пребарај: #now
@gazaalanpa · Post #20687 · 01.04.2026 г., 07:01
#Now An Iranian missile has hit a building in Tel Aviv.
Hashtags
@kbflf5c · Post #9789 · 01.01.2020 г., 14:29
2215 #now 現場消息指警方銅鑼灣拘捕逾400人
Hashtags
@goodtraders · Post #9515 · 16.04.2026 г., 13:44
#NOW Раз уж засветил публично спекулятивный трейд - оповещаю и о его закрытии. ✅ Три дня прошло в сделке = профит фактор 1 к 2,6 получилось. В инвест портфеле лонг сохраняю.
Hashtags
@netflix_bus · Post #7538 · 19.08.2023 г., 12:00
🚘 1星司机 💞Perpetual⁷⁻¹⁰L(⭐) 发布了一辆 #Now E 1 人合租车,Nowe 4K 英超23-24赛季通行证,整赛季可用,2人自用车,一人950最低 102.92 元/月,剩余 1 个空位置. 点击上车
Hashtags
@bishdvizh · Post #2852 · 05.04.2025 г., 20:00
⚡ Алгоритмы битологии by X-WAVE in Kombinat _ @BishDvizh#now
Hashtags
@bishdvizh · Post #2851 · 04.04.2025 г., 21:13
BUNKER RAVE ⚡ Беспощадные раздачи techno by Malika @Bishdvizh#now
Hashtags
@bishdvizh · Post #2850 · 04.04.2025 г., 20:24
BUNKER RAVE ⚡Чынгыз раздаёт сладости @BishDvizh#now
Hashtags
@bishdvizh · Post #2849 · 04.04.2025 г., 20:05
Сейчас⚡Ailan в Бункере ! Скоро за пульт встанет разадавать Malika _ @BishDvizh#now
Hashtags
@spaceuniverses · Post #148 · 27.02.2022 г., 07:00
🌟Right #now Chandra is studying a Black Hole in galaxy UGC 3855. While the galaxy is located about 180 million light years from Earth, the brilliant star seen photobombing the galaxy in this image is actually much closer to us. This creates the illusion that the star is huge.
Hashtags
@bcd8888 · Post #740 · 01.05.2025 г., 09:09
#Now Write #付费限免#内购限免 🔘软件介绍 图片、视频、音频构建您的日记 🔘软件价格 38元→免费→中文→内购限免 🔘软件链接 App Store下载 限免随时结束速度冲! 🔊频道💬群组🎁福利📍导航
@netflix_bus · Post #7271 · 22.02.2023 г., 12:00
🚘 1星司机 大佬(⭐) 发布了一辆 #Now E 5 人合租车,欧洲4大联赛,欧冠欧联欧协联,所有now体育台最低 165.45 元/月,剩余 5 个空位置. 点击上车 🚘 1星司机 ゞ梦や魇‰(⭐) 发布了一辆 #Xbox Game Pass Unlimited 3 人合租车,xgpu会员最低 6.5 元/月,剩余 3 个空位置. 点击上车 🚘 1星司机 佬(⭐) 发布了一辆 #Xbox Game Pass Unlimited 10 人合租车,订阅季付多送几天,全球通用,账号登录微软商店即可在xbox以自己账号同步成就和游戏进度最低 4.33 元/月,剩余 1 个空位置. 点击上车 🚘 4星司机 cm(⭐⭐⭐⭐) 发布了一辆 #1Password 4 人合租车,家庭成员车位,2024/2/22到期,非一年试用bug活动车,保险库数据仅自己可见最低 4.23 元/月,剩余 4 个空位置. 点击上车
Hashtags
@EriAndQmapJapan · Post #25302 · 17.03.2026 г., 07:26
https://x.com/aloha1717q/status/2033761953978716380?s=46 とりあえず 今ちょん切れ #Now‼️ #イスラム教