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

Резултати

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

Пребарај: #breastfeeding

当前筛选 #breastfeeding清除筛选
НАУКА И ПИТАНИЕ

@pitanie_ru · Post #192 · 14.11.2018 г., 11:57

🍼ГВ🤱🏻 Комиссия Новой Зеландии по торговле предоставила соглашение Совета по питанию для новорожденных INC распространить ограничение на рекламу и маркетинг детских смесей с 0-6 месяцев до смесей для детей в возрасте 0-12 месяцев #грудноевскармливание #breastfeeding #реклама https://www.dairyreporter.com/Article/2018/11/13/Rejoicing-in-restriction-Industry-welcomes-stricter-rules-for-infant-formula-marketing?utm_source=newsletter_daily&utm_medium=email&utm_campaign=14-Nov-2018&c=3o4pod1eWUrMaWhfM%2Bw5868cSVPBd8Fo&p2=

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40231 · 01.12.2025 г., 11:03

Cabbage leaves have natural anti-irritant and antibiotic properties. They may reduce breast swelling, pain, and inflammation during breastfeeding or weaning. Cold cabbage leaves can improve blood flow and help tissue drainage. People with sulfa allergies might react. Overuse can lower breast milk supply. 🥬❄️ [Learn more] @googlefactss#CabbageLeaves#BreastCare#Breastfeeding#HealthFacts

Venture Village Wall 🦄

@venturevillagewall · Post #4083 · 06.02.2025 г., 13:00

February Startup Fundraising Highlights MAVOCO AG raises $11.37M for IoT software solutions. 🛠️ Sirius Medical secures $10.33M for medical innovations. 🏥 Little Otter, focusing on children's mental health, raises $9.50M. 🌱 Lorikeet collects $9M for AI-driven issue resolution tools. 🤖 Easpeed Technology gains $7.92M for aerial imaging advancements. 📷 Digital Entertainment Asset earns $6.44M to enhance labor through gamification. 🎮 SimpliFed raises $4M for virtual breastfeeding support. 👶 EPYR brings in $3.10M for renewable heat solutions. ♻️ Presentation AI receives $3M to streamline presentation creation. 📊 LogicStar AI raises $3M to fix bugs in applications. 🔧 #IoT#Healthcare#MentalHealth#AI#Tech#Startups#Funding#RenewableEnergy#Gaming#Web3#Breastfeeding#Presentation#Efficiency#Innovation#ThermalEnergy#BugFixing#Software#Growth#Connectivity#Crowdsourcing