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

Резултати

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

Пребарај: #阿mo

当前筛选 #阿mo清除筛选
和你報WhatsNews Media

@whatsnewshk · Post #3411 · 07.08.2022 г., 03:03

[舞蹈員「阿Mo」已清醒能簡單溝通 家庭發展基金總幹事羅乃萱代轉貼禱文:請大家繼續為李牧師一家禱告] #港聞#副刊 圖:K 上月28日Mirror演唱會事故,大銀幕從高處墮下,導致最少兩名舞蹈員受傷,其中1名舞蹈員李啟言「阿Mo」被大銀幕直接擊中頭部危殆多日至今,期間多次傳出情況好轉,但一直指仍然昏迷。 今晨(7日),家庭發展基金總幹事羅乃萱於社交平台轉貼... 完整報道:https://www.whatsnewsmedia.com/10176/11/03/23/ #Mirror#舞蹈員#阿Mo#李啟言#羅乃萱#李盛林

籽煤 yseedsmedia

@yseedsmedia · Post #670 · 13.09.2022 г., 04:08

MIRROR 演唱會距今接近個半月,事件中受重傷的舞蹈員李啟言(阿 Mo)仍在伊利沙伯醫院留醫,盈科拓展集團主席李澤楷昨日發出聲明中表示,以個人名義向其家人提供 1,000 萬港元的經濟支持。 今晨阿Mo家人李盛林牧師在社交媒體回應李澤楷1,000萬元經濟援助:「責任人未有妥善處理之前,所有捐贈都為時過早。」,並表示:「待最後的調查結果公佈後才能作出妥善處理,還啟言及其他受傷的舞者一份尊嚴和公道,給予演藝行業一個安全的保障,並期望涉事單位能負上相關的責任。」 #賠償#公義#李啟言#阿MO#早日康復 #撐#yseedsmedia #籽煤#新聞#熱門新聞#香港人的新聞#香港人#hongkonger#香港加油 有意見想表達?觀迎到籽煤各社交媒體發表你的意見: Follow and share us: IG: instagram.com/yseedsmedia/ Fb: fb.com/yseedsmedia Tg: t.me/yseedsmedia YouTube: youtube.com/channel/UCUzvl6OxtSHcK5fck7i8iYQ

港島西。Channel

@islandwest84 · Post #39505 · 10.09.2022 г., 21:33

MIRROR演唱會|阿Mo脫離呼吸機 由危殆轉為嚴重 會安然面對處境 全文:https://bit.ly/3B7WsDj 在MIRROR演唱會舞台事故中受重傷的舞蹈員李啟賢(阿Mo),目前仍留院深切治療部。適逢中秋節,他的父親李盛林牧師發出代禱信。信中除了感恩能在中秋和阿Mo小聚,還透露經過5星期艱辛努力,阿Mo終於可以脫離呼吸機,又提到阿Mo指已經接受了自己將會有一段很長的時間在醫院治療,會安然面對。 而阿Mo的女友So Ching在轉貼代禱信外,亦在IG限時動態上傳了一張她與阿Mo去年中秋的合照,並寫道:「去年的中秋節原來好幸福 好好珍惜身邊的人 珍惜每一刻」。 #MIRROR演唱會#MIRROR ##李啟言#阿Mo#So_Ching#李盛林牧師#代禱信#中秋#紅館#舞台意外#channelchk ============== 新聞有價 記者有格 $128保就業計劃 立即訂閱:https://bit.ly/3wEkVhz 撐Channel C請記者 一齊為民請命 抱打不平 ============== 🔥「爆片爆相」返嚟喇!🔥 一經獨家採用將會獲得由網上零食店易買 送出$200元電子禮券! 報料:https://bit.ly/38XUGu7