@WallpapersFreeHD · Post #8605 · 27.05.2025 г., 13:54
👍 Canal: @WallpapersFreeHD⭐️ 🆕 10240 x 5760 #️⃣#Pokemon 🫥🫥🫥🫥🫥🫥🫥🫥🫥🫥 📱 Comunidad: @ChannelsCommunity ✅ ════════════════════ ⭐️📥🔁 ˡᶦᵏᵉ ˢᵃᵛᵉ ˢʰᵃʳᵉ
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
Пребарај: #pokemon
@WallpapersFreeHD · Post #8605 · 27.05.2025 г., 13:54
👍 Canal: @WallpapersFreeHD⭐️ 🆕 10240 x 5760 #️⃣#Pokemon 🫥🫥🫥🫥🫥🫥🫥🫥🫥🫥 📱 Comunidad: @ChannelsCommunity ✅ ════════════════════ ⭐️📥🔁 ˡᶦᵏᵉ ˢᵃᵛᵉ ˢʰᵃʳᵉ
Hashtags
@WallpapersFreeHD · Post #8604 · 27.05.2025 г., 13:54
👍 Canal: @WallpapersFreeHD⭐️ 🆕 10240 x 5760 #️⃣#Pokemon 🫥🫥🫥🫥🫥🫥🫥🫥🫥🫥 📱 Comunidad: @ChannelsCommunity ✅ ════════════════════ ⭐️📥🔁 ˡᶦᵏᵉ ˢᵃᵛᵉ ˢʰᵃʳᵉ
Hashtags
@milideaspararegalar · Post #6319 · 23.02.2023 г., 17:57
Manual de los Pokemon. Para saberlo todo del universo #Pokemon Un gran regalo para cualquier fan. https://www.milideaspararegalar.es/producto/manual-de-los-pokemon/ 💻www.milideaspararegalar.es
Hashtags
@milideaspararegalar · Post #6027 · 13.05.2022 г., 16:55
Manual de los Pokemon. Para saberlo todo del universo #Pokemon Un gran regalo para cualquier fan. https://www.milideaspararegalar.es/producto/manual-de-los-pokemon/ 💻www.milideaspararegalar.es
Hashtags
@DansGN · Post #5633 · 19.08.2024 г., 04:35
PTCG Pocket将于10月30日正式登陆Android和iOS平台 https://vxtwitter.com/poke_times/status/1825383242758766678 #Pokemon
Hashtags
@DansGN · Post #5491 · 27.02.2024 г., 14:17
宝可梦公布新作宝可梦传说 Z-A预告视频, 游戏定于2025年正式发售 https://www.youtube.com/watch?v=8BXtzjmqZEc #Pokemon
Hashtags
@DansGN · Post #5250 · 14.08.2023 г., 11:26
宝可梦公司首席运营官在采访中表示未来有可能会为保证游戏质量而放缓游戏发售的节奏 https://comicbook.com/gaming/news/pokemon-company-game-releases-takato-utsunomiya-interview/ #Pokemon
Hashtags
@DansGN · Post #5206 · 05.07.2023 г., 01:09
宝可梦开设官方论坛 https://community.pokemon.com/en-us/categories/pokemon-general #Pokemon
Hashtags
@DansGN · Post #5081 · 21.02.2023 г., 14:26
宝可梦日活动《Pokemon Presents》将于北京时间2月27日22时播出,预计时长约25分钟,介绍宝可梦系列相关新消息 https://youtu.be/1u9351SzutU #Pokemon
Hashtags
@DansGN · Post #4989 · 20.11.2022 г., 22:30
玩家发现在宝可梦朱紫中同时使用两把手柄可以以更快速度奔跑 https://vxtwitter.com/munosnail/status/1594292538898321414 #Pokemon
Hashtags
@DansGN · Post #4863 · 04.08.2022 г., 02:15
洛托姆手机在三年后的宝可梦朱/紫中获得了相机升级 https://twitter.com/JoeMerrick/status/1554915075433054211 #Pokemon
Hashtags
@apkpurechannel · Post #2450 · 30.05.2025 г., 11:05
⚡🐹#Pokemon Go | June Update Coming in Hot 🚀🚀🚀A new mega update comes to #Pokemon Go in June, packed with 12 INSANE new additions: ✨【Three Pokemon Debuts】 Shadow Regice, Gigantamax Inteleon and Gigantamax Cinderace ✨【Five Dynamax Battles】 Chansey (6/2), Machop (6/9-15), Hatenna (6/16-22), Caterpie (6/23-29) and Shuckle (6/30-7/6) ✨【Four 5-Star Raids】 Tapu Bulu (6/3-5), Groudon (6/5-14), Kyogre (6/14-23) and Cabalion (6/30-7/8) 📌All New Introductions Coming Add @APKFreeDownloader_Bot to get any apk you want.
Hashtags