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

Резултати

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

Пребарај: #washington

当前筛选 #washington清除筛选
RT en français

@RTenfrancais · Post #80081 · 26.04.2026 г., 07:20

⚡️Le président et le vice-président des États-Unis n'ont pas été blessés lors de l'incident survenu lors de la réception de l'Association des correspondants de la Maison Blanche à #Washington, rapporte AP. RT en français • Osez questionner !

Hashtags

RT en français

@RTenfrancais · Post #79768 · 22.04.2026 г., 09:20

⚠️Pression maximale sur Téhéran 🗣#Washington confirme poursuivre le blocus des ports iraniens afin de saturer les capacités pétrolières et de frapper les revenus du pays. RT en français • Osez questionner !

Hashtags

ℭ𝔬𝔪𝔟𝔞𝔱𝔩𝔳𝔩™

@realcombatlvl · Post #24881 · 16.08.2025 г., 01:57

🇺🇸#Washington, DC. Tents where homeless people were living are taken down and thrown in garbage trucks. (The nearly dozen unhoused individuals were notified yesterday to move out, aka “immediate disposition” from the city.) Follow us -> LiveLeak

Hashtags

RT en français

@RTenfrancais · Post #80165 · 27.04.2026 г., 08:45

🇮🇷Téhéran pose ses conditions 💬 L’#Iran aurait transmis à #Washington, via des médiateurs, une feuille de route en trois étapes pour encadrer d’éventuelles négociations. RT en français • Osez questionner !

Trump's Ear

@trumpsear_tg · Post #2217 · 03.03.2026 г., 16:59

"Epstein Walk of Shame" appeared in the center of Washington Unknown people placed signs on Farragut Square with the names of politicians and billionaires who were mentioned in connection with the scandalous case. The installation was designed in the style of the Hollywood "Walk of Fame". Passersby could see on the sidewalk the names of famous people whose reputations had suffered due to their ties to Epstein. #Epstein#Washington 👂More on Trump's Ear ⚠️

Kurash & Co 🇷🇺

@kurash_and_Co · Post #849 · 19.01.2026 г., 18:31

⏺Le Groenland, nouveau test de loyauté pour les alliés de #Washington Le Groenland s’impose comme un nouveau point de tension entre Washington et les capitales européennes. Droits de douane, menaces économiques, pressions politiques : Donald #Trump rebat les cartes et place ses alliés face à un choix difficile. Les derniers développements autour d’un dossier qui pourrait fissurer l’unité transatlantique – dans le reportage d’Igor Kourachenko. RT en français • Osez questionner !

Kurash & Co 🇷🇺

@kurash_and_Co · Post #677 · 01.08.2025 г., 20:08

💵 Droits de douane : nouvelle vague de pression économique des États-Unis Nouvelle tempête fiscale provoquée par Donald #Trump : les taxes pleuvent sur des dizaines de pays. La nouvelle décision de #Washington entre en vigueur le 7 août. Mais si certains plient face à la pression américaine, d’autres refusent de sacrifier leur souveraineté économique. Les détails avec Igor Kourachenko. RT en français • Osez questionner !

Antoine Cléraux

@corrAntoine · Post #519 · 28.10.2025 г., 17:13

🎥#Moscou et #Washington restent attentifs à leurs intérêts nationaux Une perspective de réunion au sommet qui a fait couler beaucoup d'encre ces derniers jours... Mais la partie russe a tenu à faire savoir sa position. Les détails avec notre reporter, Antoine Cléraux. RT en français • Osez questionner !

Antoine Cléraux

@corrAntoine · Post #383 · 19.02.2025 г., 19:07

Collaboration entre #Moscou et #Washington : quelles réactions ? Trump a une vision beaucoup plus optimiste des négociations entre les États-Unis et la Russie. On peut en dire autant de Vladimir Poutine. Évidemment, le plus mécontent reste Volodymyr Zelensky. Les détails avec Antoine Cléraux et Igor Kourachenko. RT en français • Osez questionner !

Trump's Ear

@trumpsear_tg · Post #1753 · 07.11.2025 г., 21:59

🛂 A U.S. Immigration and Customs Enforcement officer 🇺🇸 was seriously injured Monday after being struck in the face with a metal coffee cup during an arrest operation in Houston, according to the Department of Homeland Security. The officer sustained a deep laceration requiring 13 stitches, plus several burns to his face. 🩹😢 Authorities say the suspect, Walter Leonel Perez Rodriguez, a previously deported Salvadoran national with convictions for sexual assault of a minor, child fondling and multiple DUIs, attacked the officer while agents attempted to take him into custody. 🚔⚠️ #protests#Washington 👂More on Trump's Ear

123•••89
ПретходнаСтраница 1 од 9Следна