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

Резултати

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

Пребарај: #idiomas

当前筛选 #idiomas清除筛选
BotsGram®

@botsgram_cu · Post #4125 · 20.07.2021 г., 01:32

¿Que puede hacer este bot? @AntiLanguage_Bot Este bot puede restringir hasta 66 idiomas en tus grupos Idioma: inglés (Visto en @botsgram_cu) #idiomas#grupos

BotsGram®

@botsgram_cu · Post #3142 · 18.11.2020 г., 01:01

¿Que puede hacer este bot? @langAtlasBot El Atlas lingüístico de Telegram le permite cambiar toda la interfaz de Telegram a uno de los idiomas oficiales o minoritarios disponibles. Idiomas: inglés, catalán, italiano, español (Visto en @botsgram_cu) #idiomas#telegram

☀️Beck’s☀️

@beck_blog · Post #2768 · 27.09.2021 г., 20:07

· • •🍂• · APRENDER IDIOMAS · • 🍂• • · Si llevas tiempo queriendo aprender algún idioma pero no te decides porque crees que necesitas aprender por otras personas, ingresar en algún colegio de idiomas o ver clases personalizadas déjame decirte que llevas tiempo limitándote pues es posible estudiar por cuenta propia, por lo que hoy te traigo algunos concejos útiles a la hora de empezar a estudiar cualquier idioma. #consejos#idiomas · · • • • • • · · · · • • • 🍁 • • • · · · · • • • • • · ·

☀️Beck’s☀️

@beck_blog · Post #2599 · 14.08.2021 г., 20:06

· · • •☀️• · · CURIOSIDADES · · •☀️• • · · El español es sumamente rico y, precisamente por ello, posee un sinfín de rarezas y singularidades que, en muchos países que lo hablan como lengua oficial, incluso resultan desconocidas. Por eso, hoy te traigo una lista de algunas de las curiosidades sobre el español más interesantes. #curiosidades#idiomas · · • • • • • · · · · • • • 🏖 • • • · · · · • • • • • ·

BotsGram®

@botsgram_cu · Post #5033 · 20.12.2024 г., 20:12

¿Que puede hacer este bot? 🤖@TOEFL_IELTS_Guide_bot 📎¿Te estás preparando para el examen IELTS/TOEFL o quieres mejorar tus habilidades en inglés? Este robot es lo que necesitas. Mejore sus habilidades para hablar con comentarios que mejoran la fluidez y la confianza. Smart Fluency Checker: ¡analice y mejore sus habilidades en tiempo real! #Estudios#Idiomas ❗️Opinión personal: Muy bueno! ( Visto en: @BotsGram_Cu )

☀️Beck’s☀️

@beck_blog · Post #2492 · 28.07.2021 г., 20:06

· • •☀️• · APRENDER IDIOMAS · • ☀️• • · Aprender idiomas es una bonita tarea, es darte la oportunidad de entender una cultura completamente diferente a la tuya. Para lograr esa magnífica tarea de aprender idiomas, una cosa que no puede faltarte es un cuaderno donde practicar y anotar todo lo nuevo que vayas aprendiendo. Ya de esto os he hablado antes pero hoy les traigo algunos tips extra para que sus cuadernos de idiomas sean aún mejores. #ideas#consejos#idiomas · · • • • • • · · · · • • • 🏖 • • • · · · · • • • • • · ·

☀️Beck’s☀️

@beck_blog · Post #2081 · 29.05.2021 г., 20:05

· • •🌼• · APRENDER IDIOMAS · •🌼• • · Un cuaderno de idiomas es básicamente lo que lees, un cuaderno que utilizas para aprender un idioma. Lo que muchas personas desean ignorar es que, una language notebook, puede convertirse en tu arma mortal de aprendizaje y profundización de una nueva lengua. Es por ello que hoy quiero hablar contigo sobre las 10 categorías indispensables que debe tener tu cuaderno de idiomas, para tener un aprendizaje óptimo. #ideas#consejos#idiomas · · • • • • • · · · · • • • 🍃 • • • · · · · • • • • • · ·

☀️Beck’s☀️

@beck_blog · Post #1961 · 11.05.2021 г., 20:05

· • •🌼• · APRENDER IDIOMAS · •🌼• • · ¿Eres de las personas que ha tenido esta idea de aprender un segundo idioma pero no tienes el tiempo o el dinero para pagar un curso que te permita hacerlo? Pues hoy te mostraré 7 técnicas para aprender otro idioma mucho más rápido. #ideas#consejos#idiomas · · • • • • • · · · · • • • 🍃 • • • · · · · • • • • • · ·

☀️Beck’s☀️

@beck_blog · Post #2352 · 28.06.2021 г., 20:06

· • •☀️• · APRENDER IDIOMAS · •☀️• • · Un aspecto muy importante de cualquier idioma es la escritura y la mejor forma de practicarla (curiosamente) es a través de la lectura. El reading es una de las áreas del inglés que conecta varios componentes, por ejemplo, a través de la lectura te familiarizas con las correctas formas de escribir una palabra, aumentas tu vocabulario y mejoras tu pronunciación (aunque no leas en voz alta). O sea que al leer puedes reforzar tu inglés inmensamente y hoy voy a hablar de libros que te ayudarán a incrementar tu vocabulario con historias enganchadoras. #ideas#consejos#idiomas#recomendación · · • • • • • · · · · • • • 🏖 • • • · · · · • • • • • · ·

Вы знали, что любой житель Африканского континента говорит минимум на 3 языках? Это минимум! На 1м или 2х или 3х европейских языках и 1м, а, как правило, нескольких племенных языках 🙂 Поэтому африканцы очень быстро осваивают любой язык, даже такие как русский, китайский или японский! Их мозг уже натренирован переключаться между языками 😁 Только в Камеруне существуют более 300-сот местных языков, а в Нигерии их более 700-сот 🤯🤓 Посмотрите это забавное видео, где ребята из 🇲🇿Мозамбика - шисена или сена, один из корневых языков. 🇸🇳Сенегала - волоф (по одной из версий, именно из этого языка пришло слово банан 🍌) 🇸🇹 Сан-Томе и Принсипи - креольский форро 🇬🇼 Гвинеи-Биссау - креольский 🇳🇬 Нигерии - йоруба сошлись в Битве родных языков 💪🥰🤝 Я в восторге, хотя и не могу точно сказать как правильно называются эти языки. Надеюсь, что кто-то подскажет 😁 Наслаждайтесь! 🔤🔤🔤🔤 Буду дополнять пост по мере поступления информации о языках 😀 #африка#языки#челлендж#idiomas#africa

☀️Beck’s☀️

@beck_blog · Post #2742 · 22.09.2021 г., 13:13

┏━━━━━°❀•°:🍂 - 🍂:°•❀°━━━━━┓ POR AQUÍ PUEDE NAVEGAR POR EL CANAL 📁|#inicio 📝|#tips_instagram 📸|#tips_fotografía 📲|#instagram_Stories ⚙️|#estadísticas_instagram #️⃣|#hashtags 📱|#feed 📋|#captions 💡|#ideas 📷|#fotos 🏷|#peticiones ✨|#especial 📖|#recomendación 🧖🏻‍♀️|#cuidado_personal 💭|#consejos 🔎|#remedios 🧼|#limpieza 🖼|#fondos 🤯|#curiosidades 📒|#idiomas 🧁|#receta ☕️|#café 🎉|#festivos 🎃|#halloween 🎄|#navidad 👫🏻|#SanValentin 🍁|══════◄••❀••►══════|🍁 ➳ Recuerde que puede escribirme a ⇢ @SoyBeck_bot Para enviarme sugerencias, dudas, aportes o alguna petición especial que deseen ☺️ ┗━━━━━°❀•°:🍂 - 🍂:°•❀°━━━━━┛