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

Резултати

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

Пребарај: #topic

当前筛选 #topic清除筛选
Teachers' Blog💐

@LanguageStuff · Post #7403 · 06.08.2021 г., 05:37

#Topic: 📌🏙Town and City🌆📌 Ten useful collocations, phrasal verbs and expressions for speaking (+definitions) 🖇to close down~ to stop doing business 🖇to get around ~ to travel around 🖇high-rise flats ~ multi-story apartments 🖇office block ~ a large building that contains offices 🖇pavement cafe ~ cafes with tables outside on the pavement 🖇residential area ~ an area where people live 🖇shopping malls ~ large indoor shopping centres 🖇sprawling city ~ a city that has grown over time and which covers a wide area 🖇upmarket shops ~ expensive fashionable shops 🖇public spaces ~ areas in a town or city that are open to the public Prepared by Mr Andrews 👉@IELTS_with_Steven👈

Hashtags

English With Natives*

@sirjimmy · Post #31122 · 09.07.2024 г., 08:39

🔹Obstacle: a thing that blocks one's way or prevents or hinders progress. 🔹Breakthrough: an important development that may lead to an achievement or agreement (make/achieve a breakthrough) 🔹Scrape through (an exam): only just succeed in passing an exam. 🔹Make a go of sth: (inf) make sth succeed specially a business or marriage ➕➕➕➕➕➕➕➕➕➕➕ ⚜Tellus about your experiences in this regard and try to use the abovewords and expression in your writing. #Topic #Teamjimmy @Sirjimmy

English With Natives*

@sirjimmy · Post #30486 · 09.07.2023 г., 06:11

🔸Outstanding (adj) exceptionally good. 🔹Bias (n) A concentration on or interest in one particular area or subject. 🔸To rise to stardom (expression): to become famous. 🔹Public figure (n): a well-known and notable person. 🔸Paparazzi (n) a freelance photographer, especially one who takes candid pictures of celebrities for publication. ➕➕➕➕➕➕➕➕➕➕➕ ⚜Tellus about your experiences in this regard and try to use the abovewords and expression in your writing. #Topic #Teamjimmy @Sirjimmy

English With Natives*

@sirjimmy · Post #30353 · 26.05.2023 г., 08:04

🎙🌀 Speaking Activity 🌀🎙 Genetic engineering is an important issue in modern society. Some people think that it will improve people’s lives in many ways. Others feel that it may be a threat to life on earth. ⚜️Please discuss on both opinions and tell us about your experiences in this regard. #Topic #speaking #Essay#IELTS #Teamjimmy @Sirjimmy

1 English learning materials

@englishmeta1 · Post #228 · 11.12.2022 г., 12:44

It is an educational group for English learners of different levels, from beginners till advanced( who speak fluently). How we practice English here: 1) 👩‍🏫”every”day SPEAKING topic is pinned,to find it here press #topic.To take part in it, find the topic, press on it- reply and answer the questions by giving the full answer (not short), essay or a speech presentation by recording your voice, then tag admins or some members who can check your pronunciation or grammar mistakes. You can also find here a speaking partner and practice together by exchanging different opinions, healthy debates, ask extra questions . 2) 👨‍🏫 LISTENING skills (quiz) press #test_of_theday or #listening_quiz or #audio 3)👩‍🏫learn and make sentences with new IDIOMS and WORDS of the day, press #idiom_of_the_day#test_of_the_day or #word_of_the_day. Whenever u need some GRAMMAR tips press #grammar_in_brief, SPELLING press #spelling or #common_mistakes4) On Sundays PRONUNCIATION class at 7pm Iranian time. The host is an American professional university teacher- Fatima g. 5) 👩‍🏫for any assistance ask ADMINS @SB838@Scud21 6) 👨‍🏫read and record in order to practice your PRONUNCIATION skills and fluency press #readrecord. Press reply, read text and record your voice 7) 👩‍🏫 Don’t forget to check our GROUP FILES files- downloaded books, curriculums, useful information( music, vocal messages of other members,photos), 8) 👨‍🏫 CHAT with people from Ireland, Iran,Yemen, India, Brazil,Uzbekistan, Iraq, , Indonesia, Korea, Africa, Turkey, UAE etc. and practice your English. Try to start your conversation politely with a neutral phrase: Hello guys, I’m...... a new member, from...... Nice to meet you. 9) 👩‍🏫 when we have some free time, we play a game which is called- Crocodile 🐊- when one member is a host who sees the word, gives some hints( explains this words without naming it) and other members guess the word by typing it in chat. So you can practice reading , listening, writing, grammar, speaking

Tg Links

@TgDict · Post #9 · 09.03.2021 г., 11:27

#Start#contents#index#mark This channel publishes groups and channels according to a main directory and several subject sub-directories for index search The search keywords are as follows: One type of keywords: Nine categories of first-level keywords Two types of keywords: Second-level keywords + geographic region + language family 1. Telegraph #telegram#Promotion #Group#channel#robot #Search#index#navigation 2. Resources #Resources#Share #Sharing#Welfare#moive#music#Books 3. Broadcasting #Broadcasting #message#info#news#blog 4. Chat category #Chat #chitchat#communication#city#area #Chinese#English#language#country #Mainland#HongKong#Taiwan 5. Computer category #Computer #Hardware#software#VPN#programming 6. Life category #life #Entertainment#Game#Funny#Anime #Live#tourism 7. Subjects #Subjects #Interest#hobbies#topic 8.Industry #Industry#business 9.To be classified #notes Unclassified