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

Резултати

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

Пребарај: #tucker

当前筛选 #tucker清除筛选

Tucker Carlson :「這場戰爭徹底重塑了全球軍事和貿易聯盟,隨後的制裁也產生了影響。總的來說,它們顛覆了世界經濟。二戰後的經濟秩序,即保障西方八十多年繁榮的體系正迅速瓦解,美元的主導地位也隨之瓦解。這些都不是小變化。歷史的發展改變了。」 #Tucker

Hashtags

Наталья Хорошевская

@natalyhorosh · Post #478 · 06.02.2024 г., 20:52

Такер Карлсон: "И тогда ты сможешь решать сам" #Tucker Carlson показывает нам, насколько важным является работа журналистов в наше время. В эпоху информационного шума и фейковых новостей, его интервью являются ценным ресурсом для тех, кому важно получить первоисточниковую информацию. Ждем важное интервью с Путиным. P.S. с Зеленским Такер тоже намерен добиваться интервью

Hashtags

Trump's Ear

@trumpsear_tg · Post #2440 · 01.05.2026 г., 22:00

😡🏛Tucker Carlson accused Donald Trump of betraying the interests of ordinary Americans. Popular host Tucker Carlson harshly criticized Donald Trump on his show. The former supporter of the president stated that Trump is not capable of running the country and is not even trying to do so. #Trump#Tucker 👂More on Trump's Ear ⚠️

Trump's Ear

@trumpsear_tg · Post #2396 · 22.04.2026 г., 14:02

Everyone who supported Trump is responsible for what's happening – Tucker Carlson Tucker Carlson has stated that he regrets his previous support for Donald Trump and believes that everyone who campaigned for him is responsible for the current events. In a conversation with the president's former speechwriter, he emphasized that he himself was involved in creating public support, which means he is also responsible for the consequences. According to Carlson, it is not enough to simply change one's opinion or distance oneself from the situation in hindsight. He emphasized that millions of supporters, including himself, have contributed to the situation to some extent, and this requires reflection and personal responsibility. Carlson also apologized to his audience for what he described as unintentionally misleading people about Trump. He stressed that he had no intention of deceiving anyone, but now feels the need to acknowledge his mistake and address his own moral compass. #Trump#Tucker 👂More on Trump's Ear ⚠️

💥💥💥 𝐁𝐎𝐌𝐁𝐀𝐙𝐎𝐎𝐎𝐎 💥💥💥 🛰🐻Los Dodgers y el jardinero Kyle Tucker acordaron un contrato por 4 años y 240 millones, según múltiples informes, incluido el del insider de MLB Network, Jon Heyman. #️⃣#Dodgers#Tucker 🗞 | t.me/MLB_Daily

🐦🐻 El codiciado agente libre Kyle Tucker fue visto el miércoles en las instalaciones de entrenamiento de los Blue Jays en Florida, según una fuente citada por Robert Murray de FanSided. 👀 ¿Podría estar Tucker cerca de unirse a los actuales campeones de la AL? #️⃣#BlueJays#Tucker 🗞 | t.me/MLB_Daily

12
ПретходнаСтраница 1 од 2Следна