Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для 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
💬Secretara Comisiei Electorale Centrale, Dana Munteanu, a participat la lansarea cursului de instruire la distanță „Integritatea electorală”, elaborat și gestionat de Centrul de instruire continuă în domeniul electoral (CICDE).
🔵Comisia Electorală Centrală salută dezvoltarea acestui program educațional destinat funcționarilor electorali, care are drept scop consolidarea standardelor de integritate în procesele electorale.
#CECMoldova#DemocrațiaContează#ELearning#CICDE#CoE#IntegritateElectorală
Poner en práctica el conocimiento contribuye a su pronta asimilación y no hay nada mejor que aprender haciendo.
Sigue estos consejos y sácale el jugo a tus clases:
📌Asociaciones clave: El conocimiento previo sobre un tema permite vincularlo con nuevos aspectos. Integra la información nueva con situaciones que hayas experimentado en el pasado para crear conexiones efectivas que la asienten en tu memoria. Refuerza viendo videos, escuchando podcast relacionados y más.
📌Memoria visual: La elaboración de mapas mentales y la ilustración siempre tiene más impacto e improntación a nivel cerebral.
📌Utiliza a tu favor la toma de notas y la escritura a mano:
Al forzar la repetición y al enfocarte en leer y reproducir el mensaje se fija con más duración.
Procura leer los conceptos con detenimiento y reproducirlos al papel sin distracciones.
Vuelve a lo básico y sácale todo el jugo a tu sesión de estudio.
Aprende más y mejor.
#educación #capacitación #diploma#elearning…
Aprenderás las técnicas avanzadas de anestesia en medicina veterinaria, desde los fundamentos, últimas tendencias en Monitoreo anestésico, Gestión de riesgos anestésicos, estrategias avanzadas hasta Anestesia en animales no convencionales.
Nuestro programa está diseñado para médicos veterinarios y estudiantes del último año de la carrera de Medicina Veterinaria.
🗓️Fecha de inicio: 10 de octubre de 2024.
⌛Duración: 5 meses.
📜 Avalado por el Consejo Nacional de Certificación en Veterinaria de México CONCERVET
💻Metodología: Totalmente virtual. Clases teóricas en tiempo real, grabación de las clases, transcripción de las clases con inteligencia artificial y materiales bibliográficos disponibles las 24 horas, los 365 días del año.
✅Adquiere habilidades para brindar cuidados seguros y sin dolor a tus pacientes
✅ Interactúa con expertos de toda Latinoamérica.
¡Inscríbete hoy!
#educación #capacitación #diploma#elearning#médicoveterinario
Aprenderás las técnicas avanzadas de anestesia en medicina veterinaria, desde los fundamentos, últimas tendencias en Monitoreo anestésico, Gestión de riesgos anestésicos, estrategias avanzadas hasta Anestesia en animales no convencionales.
Nuestro programa está diseñado para médicos veterinarios y estudiantes del último año de la carrera de Medicina Veterinaria.
🗓️Fecha de inicio: 10 de octubre de 2024.
⌛Duración: 5 meses.
📜 Avalado por el Consejo Nacional de Certificación en Veterinaria de México CONCERVET
💻Metodología: Totalmente virtual. Clases teóricas en tiempo real, grabación de las clases, transcripción de las clases con inteligencia artificial y materiales bibliográficos disponibles las 24 horas, los 365 días del año.
✅Adquiere habilidades para brindar cuidados seguros y sin dolor a tus pacientes
✅ Interactúa con expertos de toda Latinoamérica.
¡Inscríbete hoy!
#educación #capacitación #diploma#elearning#médicoveterinario
Aprenderás las técnicas avanzadas de anestesia en medicina veterinaria, desde los fundamentos, últimas tendencias en Monitoreo anestésico, Gestión de riesgos anestésicos, estrategias avanzadas hasta Anestesia en animales no convencionales.
Nuestro programa está diseñado para médicos veterinarios y estudiantes del último año de la carrera de Medicina Veterinaria.
🗓️Fecha de inicio: 10 de octubre de 2024.
⌛Duración: 5 meses.
📜 Avalado por el Consejo Nacional de Certificación en Veterinaria de México CONCERVET
💻Metodología: Totalmente virtual. Clases teóricas en tiempo real, grabación de las clases, transcripción de las clases con inteligencia artificial y materiales bibliográficos disponibles las 24 horas, los 365 días del año.
✅Adquiere habilidades para brindar cuidados seguros y sin dolor a tus pacientes
✅ Interactúa con expertos de toda Latinoamérica.
¡Inscríbete hoy!
#educación #capacitación #diploma#elearning#médicoveterinario
Aprenderás las técnicas avanzadas de anestesia en medicina veterinaria, desde los fundamentos, últimas tendencias en Monitoreo anestésico, Gestión de riesgos anestésicos, estrategias avanzadas hasta Anestesia en animales no convencionales.
Nuestro programa está diseñado para médicos veterinarios y estudiantes del último año de la carrera de Medicina Veterinaria.
🗓️Fecha de inicio: 10 de octubre de 2024.
⌛Duración: 5 meses.
📜 Avalado por el Consejo Nacional de Certificación en Veterinaria de México CONCERVET
💻Metodología: Totalmente virtual. Clases teóricas en tiempo real, grabación de las clases, transcripción de las clases con inteligencia artificial y materiales bibliográficos disponibles las 24 horas, los 365 días del año.
✅Adquiere habilidades para brindar cuidados seguros y sin dolor a tus pacientes
✅ Interactúa con expertos de toda Latinoamérica.
¡Inscríbete hoy!
#educación #capacitación #diploma#elearning#médicoveterinario
😃¡Quedan pocos cupos disponibles!
Diplomado en Anestesiología Veterinaria
⌛Durante 5 meses de estudio adquiriras las herramientas y conocimientos necesarios para:
- Dominio de técnicas anestésicas avanzadas: mejorar la seguridad y efectividad en tus procedimientos quirúrgicos.
- Manejo del paciente en el perioperatorio: aumenta la tasa de recuperación y disminuye complicaciones postoperatorias.
- Evaluación de riesgos anestésicos: aprende a identificar factores de riesgo en tus pacientes y a gestionar cualquier situación crítica que surja.
- Procedimientos de anestesia en pacientes no convencionales, braquicefalos y en gatos.
💻¡El momento es ahora!
Iniciamos en solo 7 días.
📲Inscripciones al +58 414 5300397
#educación #capacitación #diploma#elearning#médicoveterinario
Aprenderás las técnicas avanzadas de anestesia en medicina veterinaria, desde los fundamentos, últimas tendencias en Monitoreo anestésico, Gestión de riesgos anestésicos, estrategias avanzadas hasta Anestesia en animales no convencionales.
Nuestro programa está diseñado para médicos veterinarios y estudiantes del último año de la carrera de Medicina Veterinaria.
🗓️Fecha de inicio: 10 de octubre de 2024.
⌛Duración: 5 meses.
📜 Avalado por el Consejo Nacional de Certificación en Veterinaria de México CONCERVET
💻Metodología: Totalmente virtual. Clases teóricas en tiempo real, grabación de las clases, transcripción de las clases con inteligencia artificial y materiales bibliográficos disponibles las 24 horas, los 365 días del año.
✅Adquiere habilidades para brindar cuidados seguros y sin dolor a tus pacientes
✅ Interactúa con expertos de toda Latinoamérica.
¡Inscríbete hoy!
#educación #capacitación #diploma#elearning#médicoveterinario
Aprenderás las técnicas avanzadas de anestesia en medicina veterinaria, desde los fundamentos, últimas tendencias en Monitoreo anestésico, Gestión de riesgos anestésicos, estrategias avanzadas hasta Anestesia en animales no convencionales.
Nuestro programa está diseñado para médicos veterinarios y estudiantes del último año de la carrera de Medicina Veterinaria.
🗓️Fecha de inicio: 10 de octubre de 2024.
⌛Duración: 5 meses.
📜 Avalado por el Consejo Nacional de Certificación en Veterinaria de México CONCERVET
💻Metodología: Totalmente virtual. Clases teóricas en tiempo real, grabación de las clases, transcripción de las clases con inteligencia artificial y materiales bibliográficos disponibles las 24 horas, los 365 días del año.
✅Adquiere habilidades para brindar cuidados seguros y sin dolor a tus pacientes
✅ Interactúa con expertos de toda Latinoamérica.
¡Inscríbete hoy!
#educación #capacitación #diploma#elearning#médicoveterinario
Aprenderás las técnicas avanzadas de anestesia en medicina veterinaria, desde los fundamentos, últimas tendencias en Monitoreo anestésico, Gestión de riesgos anestésicos, estrategias avanzadas hasta Anestesia en animales no convencionales.
Nuestro programa está diseñado para médicos veterinarios y estudiantes del último año de la carrera de Medicina Veterinaria.
🗓️Fecha de inicio: 10 de octubre de 2024.
⌛Duración: 5 meses.
📜 Avalado por el Consejo Nacional de Certificación en Veterinaria de México CONCERVET
💻Metodología: Totalmente virtual. Clases teóricas en tiempo real, grabación de las clases, transcripción de las clases con inteligencia artificial y materiales bibliográficos disponibles las 24 horas, los 365 días del año.
✅Adquiere habilidades para brindar cuidados seguros y sin dolor a tus pacientes
✅ Interactúa con expertos de toda Latinoamérica.
¡Inscríbete hoy!
#educación #capacitación #diploma#elearning#médicoveterinario
Aprenderás las técnicas avanzadas de anestesia en medicina veterinaria, desde los fundamentos, últimas tendencias en Monitoreo anestésico, Gestión de riesgos anestésicos, estrategias avanzadas hasta Anestesia en animales no convencionales.
Nuestro programa está diseñado para médicos veterinarios y estudiantes del último año de la carrera de Medicina Veterinaria.
🗓️Fecha de inicio: 10 de octubre de 2024.
⌛Duración: 5 meses.
📜 Avalado por el Consejo Nacional de Certificación en Veterinaria de México CONCERVET
💻Metodología: Totalmente virtual. Clases teóricas en tiempo real, grabación de las clases, transcripción de las clases con inteligencia artificial y materiales bibliográficos disponibles las 24 horas, los 365 días del año.
✅Adquiere habilidades para brindar cuidados seguros y sin dolor a tus pacientes
✅ Interactúa con expertos de toda Latinoamérica.
¡Inscríbete hoy!
#educación #capacitación #diploma#elearning#médicoveterinario
Aprenderás las técnicas avanzadas de anestesia en medicina veterinaria, desde los fundamentos, últimas tendencias en Monitoreo anestésico, Gestión de riesgos anestésicos, estrategias avanzadas hasta Anestesia en animales no convencionales.
Nuestro programa está diseñado para médicos veterinarios y estudiantes del último año de la carrera de Medicina Veterinaria.
🗓️Fecha de inicio: 10 de octubre de 2024.
⌛Duración: 5 meses.
📜 Avalado por el Consejo Nacional de Certificación en Veterinaria de México CONCERVET
💻Metodología: Totalmente virtual. Clases teóricas en tiempo real, grabación de las clases, transcripción de las clases con inteligencia artificial y materiales bibliográficos disponibles las 24 horas, los 365 días del año.
✅Adquiere habilidades para brindar cuidados seguros y sin dolor a tus pacientes
✅ Interactúa con expertos de toda Latinoamérica.
¡Inscríbete hoy!
#educación #capacitación #diploma#elearning#médicoveterinario