@Yuan_En · Post #25376 · 02.01.2024 г., 13:18
首次揭秘: B站 百大 是怎么选出来的? https://www.bilibili.com/video/av283018891/ #看看视频#运营#LKs
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
Пребарај: #lks
@Yuan_En · Post #25376 · 02.01.2024 г., 13:18
首次揭秘: B站 百大 是怎么选出来的? https://www.bilibili.com/video/av283018891/ #看看视频#运营#LKs
@andrejspagorslive · Post #6553 · 28.08.2025 г., 09:41
❗МОН решило воспользоваться ситуацией на Украине. С 2022 года в нашей стране наступили времена, когда пытаются уничтожить всё русское, включая язык и образование на родном языке для наших детей, вопреки Рамочной конвенции, которую Латвия ратифицировала 20 лет назад. С 1 сентября впервые за последнюю четверть тысячелетия русский язык будет полностью исключен из школьного образования в Латвии. Русский язык не угрожает латышскому, он его дополняет и обогащает нашу страну. Несмотря на местную пропаганду и попытки выставить нас врагами, РСЛ не борется против латышского языка. Мы относимся к нему и к латышской культуре с уважением. Мы боремся за сохранение своего родного РУССКОГО языка. Мы, русские Латвии, хотим, чтобы наши дети учились на родном языке, при этом хорошо владея латышским. Для 40% населения страны язык семьи – русский. Эти 40% являются налогоплательщиками, а значит, и заказчиками образования. Наша страна многонациональна. Разнообразие языков и культур – это богатство Латвии. Качественное образование, умные и конкурентоспособные дети – наша главная цель и задача. Если законы придумывают и принимают неразумные политики, то эти несправедливые законы ЛЮДИ МОГУТ И ДОЛЖНЫ ИЗМЕНИТЬ! Только неразумные политики и чиновники способны запретить всем латвийским детям читать Лермонтова и Пушкина в оригинале. Латвийская ассоциация школ с русским языком обучения заявила пикет протеста на 29 августа в 17:00 у здания Сейма. Я тоже там буду. 🇱🇻 Русский союз Латвии (РСЛ) 🇱🇻 Latvijas Krievu savienība (LKS) Мои каналы, присоединяйтесь и подписывайтесь 🙂 🔹️ Telegram: https://t.me/andrejspagorslive 🔹️ TikTok: tiktok.com/@andrejspagors #РСЛ#LKS#AndrejsPagors#АндрейПагор
@Ultimorapolitics · Post #38159 · 02.05.2022 г., 14:52
#Sondaggi#Lettonia Sondaggio di Factum: #JV|EPP: 19% (+2) #NA|ECR: 12,5% (+0,5) #SDPS|S&D: 12% (+1) #AP (#LA-#Par-#Izaugsme)|RE: 10% #ZZS (#LZS-#LZP)|Verdi di centro-destra: 9% (-2) #K|Centro-destra: 9% (+2) #P|Centro-sinistra: 6% #LKS|G/EFA: 5% (-1) #KuK|Destra: 4% (-1) #LPV|Destra: 3% (-2) #Republika|Centro: 2% #LRA|Centro: 2% (-1) #PCL|Destra anti-establishment: 1% (-1) #NST|Estrema destra: 0,4% (-0,2) Data rilevazione: 26-29 aprile +/-: 29-31 marzo Intervistati: 969 @UltimoraPolitics