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

Резултати

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

Пребарај: #publicidadgratis

当前筛选 #publicidadgratis清除筛选
Dolar BCV 💱

@DolarBCV · Post #2390 · 29.12.2025 г., 17:43

ELITE AMAZONAS Tu Asesor Digital Confiable J-503027452 📌 Ubicación: Av. Perimetral Simón Rodríguez (Diagonal al Terminal Melicio Pérez), al lado del antiguo Súper Mercal, Puerto Ayacucho - Estado Amazonas 🛎️ Servicios: 👕 Sublimación en Gran Formato: Jersey, Franelas, Chaquetas, Chemisse y Camisas. 🖥️ Trámites Online | 📚 Proyectos Académicos 🖨️ Impresiones (Color/BN 📮 Carnet de Identificación 🔰 Diseño Creativo y Arte Visual para tu empresa. 📞 ¡Consúltenos hoy mismo! 04165196539 04161036898 Respuesta inmediata - Presupuestos sin costo. #PublicidadGratis #DolarBCV

Dolar BCV 💱

@DolarBCV · Post #2370 · 22.12.2025 г., 22:12

ELITE AMAZONAS Tu Asesor Digital Confiable J-503027452 📌 Ubicación: Av. Perimetral Simón Rodríguez (Diagonal al Terminal Melicio Pérez), al lado del antiguo Súper Mercal, Puerto Ayacucho - Estado Amazonas 🛎️ Servicios: 👕 Sublimación en Gran Formato: Jersey, Franelas, Chaquetas, Chemisse y Camisas. 🖥️ Trámites Online | 📚 Proyectos Académicos 🖨️ Impresiones (Color/BN 📮 Carnet de Identificación 🔰 Diseño Creativo y Arte Visual para tu empresa. 📞 ¡Consúltenos hoy mismo! 04165196539 04161036898 Respuesta inmediata - Presupuestos sin costo. #PublicidadGratis #DolarBCV

Dolar BCV 💱

@DolarBCV · Post #2388 · 28.12.2025 г., 20:13

JORGE GUTIERREZ SERVICIOS INFORMATICOS, FP SISTEMA ADMINISTRATIVO Y CONTABLE SAINT + SOLUCIONES INFORMÁTICAS PARA EMPRESAS 🚀 Contacto: Whatsapp: https://wa.me/584146481739 Web: https://jorgegutierrez.com.ve/ #publicidad #PublicidadGratis

Dolar BCV 💱

@DolarBCV · Post #2391 · 29.12.2025 г., 17:46

🌎 Semper Erik: Viajes reales. Aventuras en vivo. Venezuela 🇻🇪 en tiempo real. Explora ciudades, pueblos y rutas sorprendentes con contenido auténtico y 100% venezolano. ✨ Nuevos videos en YouTube cada semana. ¡Suscríbete! 👍 Activo en todas las Redes Sociales ▶ Semper Erik https://youtube.com/@SemperErik?sub_confirmation=1 #publicidad #PublicidadGratis #DolarBCV

Dolar BCV 💱

@DolarBCV · Post #2384 · 27.12.2025 г., 00:27

Willy Bracamonte Servicio y Reparación de balanzas electrónicas comerciales y ganaderas venta, servicio y reparación de balanzas electrónicas, conexión a red y ajuste. Más de 30 años de experiencia. Telegram: @WillyBracamonte WhatsApp: Willy Bracamonte +58 424-6634725 https://www.instagram.com/willybracamonte #Publicidad #PublicidadGratis #DolarBCV

Dolar BCV 💱

@DolarBCV · Post #2380 · 26.12.2025 г., 00:28

LADY STHETIC.VE En Lady Sthetic.ve. Te ayudamos y asesoramos para que en estás navidades puedas lucir y resaltar una piel radiante, hermosa y te veas espectacular. https://www.instagram.com/lady_esthetic.ve #Publicidad #PublicidadGratis #DolarBCV

Dolar BCV 💱

@DolarBCV · Post #2368 · 21.12.2025 г., 11:34

🌎 Semper Erik: Viajes reales. Aventuras en vivo. Venezuela 🇻🇪 en tiempo real. Explora ciudades, pueblos y rutas sorprendentes con contenido auténtico y 100% venezolano. ✨ Nuevos videos en YouTube cada semana. ¡Suscríbete! 👍 Activo en todas las Redes Sociales ▶ Semper Erik https://t.me/SemperErik https://youtube.com/@SemperErik?sub_confirmation=1 #publicidad #PublicidadGratis #DolarBCV

Dolar BCV 💱

@DolarBCV · Post #2366 · 19.12.2025 г., 22:20

💥sheImport ¡Diversión y Estilo en un Solo Lugar!💥 La mejor selección en Carritos Eléctricos, Pistolitas de Burbujas, Ropa Deportiva y Ropa Casual de última moda te espera. Visítanos en Cabimas: C.C. El Cañadero, primer local frente a la Plaza Bolívar. ¡Disfruta de Entrega GRATIS en Maracaibo, San Francisco y Ciudad Ojeda! Síguenos en Instagram: @sheimport.ve Haz tu pedido por WhatsApp: 0412 1635012 sheImport: ¡Importamos la calidad, exportamos tu sonrisa! #Publicidad #PublicidadGratis #DolarBCV @DolarBCV

Dolar BCV 💱

@DolarBCV · Post #2364 · 18.12.2025 г., 22:04

ELITE AMAZONAS Tu Asesor Digital Confiable J-503027452 📌 Ubicación: Av. Perimetral Simón Rodríguez (Diagonal al Terminal Melicio Pérez), al lado del antiguo Súper Mercal, Puerto Ayacucho - Estado Amazonas 🛎️ Servicios: 👕 Sublimación en Gran Formato: Jersey, Franelas, Chaquetas, Chemisse y Camisas. 🖥️ Trámites Online | 📚 Proyectos Académicos 🖨️ Impresiones (Color/BN 📮 Carnet de Identificación 🔰 Diseño Creativo y Arte Visual para tu empresa. 📞 ¡Consúltenos hoy mismo! 04165196539 04161036898 Respuesta inmediata - Presupuestos sin costo. #publicidad #publicidadgratis #DolarBCV @DolarBCV

12
ПретходнаСтраница 1 од 2Следна