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

Резултати

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

Пребарај: #nhk

当前筛选 #nhk清除筛选
EriQmapJapan️️️️️️

@EriAndQmapJapan · Post #25971 · 19.04.2026 г., 15:10

https://x.com/qshuwako17/status/2045867361669108087?s=46 ありがとうございます❣️ NHK職員は全員タヒ刑になりました🙏☺️✨ @realDonaldTrump@WhiteHouse https://www.youtube.com/watch?v=jmMGMrTXW4o #NHK

Hashtags

EriQmapJapan️️️️️️

@EriAndQmapJapan · Post #25827 · 08.04.2026 г., 11:12

https://x.com/aloha1717q/status/2041831151820828930?s=46 もうすっかり この状況に慣れてしまったけど NHK職員って 毎週必ず逮捕されてるよね? 普通の会社とかなら 犯罪者が一人いても 社会的制裁を受けて 立ち行かなくなるのに なんなんコイツら?💢🤬 #全NHK職員は逮捕収監されました @realDonaldTrump #NHK

EriQmapJapan️️️️️️

@EriAndQmapJapan · Post #25821 · 08.04.2026 г., 08:16

https://x.com/aloha1717q/status/2041760533498712527?s=46 辞任とか ちまちましたことやってないで #NHK はとっとと解体して 過去含めた全職員を #逮捕収監財産没収領地系🐊にすればいいだけ NHK解体は実現しました ありがとうございます🙏☺️ @realDonaldTrump@WhiteHouse

浮光掠影

@inbox_all · Post #501 · 27.08.2021 г., 09:32

深藏在興都庫什山中的阿富汗巴米安峽谷因豐富的佛教洞窟遺址及高達五十三公尺的石雕佛像而與敦煌石窟、印度的阿占塔石窟同被列為三大佛教藝術最珍貴的遺產地,但在西元二○○一年三月九日巴米揚兩尊立佛在阿富汗「塔里班」政權的炸藥聲中化為灰燼. 這一部紀錄片 是由日本NHK / FuturePlanet Co.動畫製作, 根據三藏玄奘大師的著作 - "大唐西域記" 其中所描述 梵衍那國 (今 阿富汗巴米安地區) 大佛的相關細節, 以電腦3D畫面技術重新呈現出來, 揣摩當時的宏偉景像 !! #巴米扬#纪录片#NHK

(旧)QAJF🐸OFFICIAL

@QArmyJapanFlynn · Post #62333 · 19.02.2026 г., 14:50

https://x.com/aberiaq/status/2024494378472128701?s=46 @nhk_news @NHK_PR @NHK さん NHKの番組でエプスタインから受けた撮影をしたんですか? どんな撮影をして、誰がかかわっていたのか説明していただけますか? 2017年7月頃ですよね🤔 お返事お待ちしていまーす😊 https://www.justice.gov/age-verify?destination=/epstein/files/DataSet%2011/EFTA02393017.pdf #ちゃんと答えてね #NHK#エプスタイン

Libertà è ragione

@libertaeragione · Post #4390 · 21.07.2025 г., 09:10

#Elezioni#Giappone#Sangiin Composizione della Camera dei Consiglieri: #LDP|Grande tenda conservatrice: 101 seggi (-13) #CDP|Centro-sinistra: 38 #DPFP|Centro-destra: 22 (+13) #Komei|Centro buddista: 21 (-6) #Ishin|Destra libertaria federalista: 19 (+1) #Sansei|Estrema destra populista: 15 (+14) Indipendenti: 13 (+1) #JCP|Sinistra: 7 (-4) #Reiwa|Sinistra populista: 6 (+1) #SDP|Centro-sinistra: 2 #Hoshu|Estrema destra: 2 (+2) #Mirai|Democrazia digitale: 1 (+1) #NHK|Destra populista anti-NHK: 1 (-1) Totale seggi: 248 Maggioranza: 125 Attuale governo (LDP-Komei): 122 seggi (❌maggioranza persa❌) In foto, la mappa del voto. @OsservatorioEsteri