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

Резултати

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

Пребарај: #turchia

当前筛选 #turchia清除筛选
Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #43592 · 28.05.2023 г., 15:49

🇹🇷#Turchia - In corso lo scrutinio per il ballottaggio, Erdogan in testa per l'agenzia filo-governativa. Segui i risultati su @UltimoraPolitics24

Hashtags

Ultimora.net - POLITICS

@ULTIMORAPOLITICS · Post #43501 · 14.05.2023 г., 16:06

🇹🇷#Turchia - È in corso lo spoglio delle combattute elezioni presidenziali nel Paese: il presidente uscente Recep Tayyip Erdoğan ha al momento un vantaggio sullo sfidante Kemal Kılıçdaroğlu, dato dai sondaggi in lieve vantaggio nei giorni scorsi. 🔴Ancora in corso lo spoglio, seguilo su @UltimoraPolitics24 @UltimoraPolitics

Hashtags

White House Watch

@WhiteHouseWatch · Post #18171 · 10.03.2026 г., 08:03

#Turchia: Un sistema di difesa Patriot è stato dispiegato nella Turchia orientale. Il sistema, prodotto dagli Stati Uniti, è inserito nel sistema di miglioramento delle misure di difesa missilistica e aerea della NATO.

Hashtags

White House Watch

@WhiteHouseWatch · Post #18043 · 09.03.2026 г., 12:04

#Turchia: "La Turchia attribuisce grande importanza alle relazioni di buon vicinato e alla stabilità regionale. Tuttavia, sottolineiamo ancora una volta che tutte le misure necessarie saranno prese in modo deciso e senza esitazione contro qualsiasi minaccia diretta al territorio e allo spazio aereo del nostro paese. Ribadiamo inoltre che è nell'interesse di tutti ascoltare gli avvertimenti della Turchia riguardo a questo."

Hashtags

White House Watch

@WhiteHouseWatch · Post #18040 · 09.03.2026 г., 11:57

#Turchia: Gli Stati Uniti hanno emesso un ordine di evacuazione di tutto il personale non d'emergenza e i familiari del corpo consolare di Adana, nella Turchia meridionale. Inoltre, il Dipartimento di Stato ha consigliato ai cittadini statunitensi di lasciare la Turchia sudorientale.

Hashtags

Turchia e dintorni

@notizieturchia · Post #3932 · 11.04.2026 г., 09:00

#Turchia: arrestato Başaran Aksu, coordinatore nazionale del sindacato Umut-Sen. Akarsu è un importante attivista che lotta contro la devastazione ambientale in diversi angoli della Turchia, portata avanti attraverso una serie di progetti d'edilizia realizzati tra alcune aziende molto vicine al potere politico come Limak Holding.

Hashtags

Turchia e dintorni

@notizieturchia · Post #3930 · 11.04.2026 г., 06:01

#Turchia: continuano le operazioni contro le municipalità governate dal principale partito d'opposizione. CHP. In questi ultimi 2 giorni, la polizia ha preso in detenzione provvisoria 26 persone (politici e funzionari) del comune di Uskudar/Istanbul.

Hashtags

Turchia e dintorni

@notizieturchia · Post #3917 · 31.03.2026 г., 12:25

#Turchia: dopo il sindaco della città di Uşak oggi è stato preso in detenzione provvisoria anche il sindaco di Bursa. Entrambi sono del principale partito di opposizione, Chp, e entrambi risultano accusati di "corruzione e riciclaggio di denaro". Insieme ai sindaci, negli ultimi giorni, sono stati presi in detenzione provvisoria e arrestati quasi 100 altre persone (i parenti dei sindaci oppure i funzionari dei comuni).

Hashtags

Turchia e dintorni

@notizieturchia · Post #3805 · 02.03.2026 г., 09:00

Ursula von der Leyen, Presidente della Commissione europea parla con il Pres della Rep di #Turchia: "L'instabilità nella regione ha un impatto profondo su entrambi. Siamo stati in contatto con i principali partner regionali. Accolgo con favore la disponibilità della Turchia a mediare e sostenere una risoluzione attraverso mezzi pacifici. La diplomazia è l'unica via percorribile. Apprezzo anche gli sforzi del Presidente per prepararsi ad affrontare il potenziale impatto di questa crisi sulla migrazione".

Hashtags

123•••10•••20•••30•••40•••4243
ПретходнаСтраница 1 од 43Следна