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

Резултати

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

Пребарај: #haemin

当前筛选 #haemin清除筛选
8TURN • 에잇턴 • MNH ENT

@turn8entertaiment · Post #44237 · 26.04.2026 г., 11:04

#Weverse × #Haemin 📍Хэмин отвечал на коментарии тонин на виверс 🗣️: В честь того, что сегодня прошёл год с тех пор, как мы с моей сестрой увидели 8turn. Вот Excel в Хьюстоне, записанный моей сестрой, потому что кто-то высокий стоял передо мной😭 С тем, как она пела, это вполне мог быть её концерт 🥲 Не обращайте внимания на то, что я записываю собственное видео на экране, оригинальное видео длится около 27 минут🤫 (1) — 🥺🥺 До встречи!!!!!! 🗣️: Если бы у вас была возможность прыгнуть с парашютом, вы бы приняли это?» — дааа 🗣️: что делаешь, ты ужинал? — посоветуйте меню на ужин, пожалуйста 🗣️: У меня осталось 3 дня до середины Adrana, я могу вас поддержать...? — файтин!!!! 🗣️: Какое-то совпадение? В трех странах За два дня. Деревянная структура Даже собеседник в окне чата turning 😯 (2,3) — свет включен, выключен — 😮😮😮😮 🗣️: файтин — файтин 🗣️: Мои прогнозы для 12 городов - Лондон,Великобритания (безопасно) - Париж, Франция(безопасно) - Стокгольм, Швеция (probally) - Берлин, Кельн, Мюнух, Франкфурт, Германия (prob 2 остановки) - Хельсинки, Финляндия (может быть) - Вена, Австрия (безопасно) - Балканская страна (безопасная) - Цюрих, Швейцария (безопасно) - Копенгаген, Дания (возможно?) - Барселона, Испания (безопасно) - Rom, Италия (безопасно) - Варшава, Польша (безопасно) — 🙏🙏🙏🙏 🗣️: Haemin haemin haemin haemin haemin hamein haemin haemin haemin ! 🐑 — Whywhwywhywhwywhwywh???? 🗣️: Нет, я действительно влюбилась в Минхо в Эверленде. Оставьте хоть какой-нибудь комментарий, пожалуйста! Я тот человек, который 21 апреля был в чёрном ветровке Adidas, джинсах и ботинках, и кричал на Amazon, что он красивый и у него светлые волосы!!! Это действительно судьба. Я ведь видела его в магазине сувениров перед выступлением TWICE, Минхо... Оставьте хоть какой-нибудь комментарий, пожалуйста! (4) — Минхо, бежи скорее сюда 🗣️: выбери одну позу (5) — в последние дни - 14 🗣️: мне нужны 8TURN в Лондоне снова! (6) — мне тоже!!! 🗣️: фото (7) — прикольно 🗣️: Хэмин, скучаю по тебе — и я по вам 🗣️: Хемин, какая твоя любимая песня недели? 👨‍🦲 — Offonoff - photograph 🗣️: Хэмин оппа карусель 30 раз против американских горки 3 раза — Американские горки!!! 🗣️: Хэмин!! Вот один из моих любимых моментов из европейского тура прошлого года!! Было так весело, когда ты распылил воду в толпу 🥹 Надеюсь увидеть тебя в Германии снова!! Давай сходим на футбольный матч на этот раз ⚽️⚽️🏟️ (8) — в следующий раз будет больше Не забудь взять зонт 🗣️: Хэмин весь вечер вел себя как непослушный ребенок. (9) — 헐라리요 🗣️: Мне нужен брат Хэмин, который сможет сдать экзамен вместо меня... Математика в средней школе такая сложная, увы... — ㅋㅌㅌㅋㅋㅌㅋㅋㅌ — ох, эта средняя школа 🗣️: увидимся скоро!!💜 (10) — Assemble 🗣️: Чжон Хэ Мин Даже спереди это круто! Даже со спины это выглядит круто! Даже слева круто! Даже справа круто! Даже сверху круто! Даже снизу круто! — я б добавил диагонали еще! 🗣️: А, правда... Знаешь что? Говорят, когда вижу красивого человека, теряю память. А, ну правда... Вы знаете это? Когда я вижу красивого человека, я теряю память. А, ну правда... Вы знаете это? Говорят, когда вижу красивого человека, теряю память. — ох, кажется я забыл корейский 🗣️: С нетерпением жду K-Con ᐡ⸝⸝› · ̫ ‹⸝⸝ᐡ💖💖 — хуху~~! 🗣️: Я написал это в виде забавного сленга, просто для прикола~ (11,12) — Может быть... не будем об этом говорить...? 🗣️: Посмотрела концерт 8turn Макао и сфотографировалась с Хэмином на следующий день 😚😚 (13,14) — вау, красиво 🗣️: Хэмин, что ты ешь чтоб быть таким красивым? — вашу любовь 🗣️: hear me out haemin 👉🏻👈🏻😋 (15) — ㅌㅋㅋㅌㅌ💙🩵💙🩵🩵🩵💙🩵💙💙🩵🩵💙🩵🩵💙💙🩵💙💙💙🩵💙🩵 🗣️: Хемин Поттер? 🙈 (16) — Р — Думаю, я Ravenclaw 🗣️: Мне нужно было станцевать песню на входе от нашего класса на спортивном мероприятии 5-го числа, но я танцую под We Are The Champions. Можете меня хоть немного поддержать? — Если ты возьмёшь у Юнсона уроки, это тебе немного поможет. — Но просто наслаждайся этим~~!!

8TURN • 에잇턴 • MNH ENT

@turn8entertaiment · Post #44389 · 08.05.2026 г., 19:32

#Twitter × #Haemin 📍 Обновление твиттера MEMBERS_8TURN — Перед выступлением… После выступления… … 💀 — Before the stage… After the stage… … 💀 📢@Turn8Entertaiment For-8Turn #TurnNews #News

123•••101112
ПретходнаСтраница 1 од 12Следна