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

Резултати

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

Пребарај: #voice

当前筛选 #voice清除筛选
Crypto Fight || News 🚀

@cryptofightnews · Post #2368 · 06.01.2025 г., 14:56

⚠️ ⚠️ ⚠️ ⚠️ ⚠ 🔔AMA ANNOUNCEMENT 🗣We are pleased to announce our #Voice AMA with "Ethernity Cloud " || 16th Jan 2025 at ( 13:00PM UTC) 🔠 🔠 🔠 🔠 🔠 🔠 🔠 🔠 ⏳ Time : 16th Jan, 2025 at (13:00PM UTC) 🏠 Venue ✉️Crypto Fight 🤵‍♂️Guest : Iosif Peterfi - CEO ➡️There will be 3 segments. Last approximately for 45 minutes - 1 hours. 🟢Segment 1: Introduction Questions 🟢Segment 2: Twitter Questions 🟢Segment 3: Live Questions 📌Rules to follow AMA: ✅ Join ✉️CryptoFight & ✉️Ethernity-cloud ✅Like & Retweet ✅Twitter Post ✅ Follow 📝CryptoFight & 📝Ethernity-cloud on Twitter 📝 Ask Your Questions ( Here ) ⏰ Must Join "Ethernity Cloud" Social Media Links : ✅Website✅Telegram✅Twitter✅Discord🌐Github✅Youtube✅Facebook ⏰ Must JoinCrypto Fight Community : ✉️Telegram ✉️Channel 📝Twitter 🔶Binance Live *️⃣Linktree 💥If You Want To Promote Your Project Or AMA Proposal 📞DM @Ryan_Fight

Hashtags

Classical Music

@exploreclassical · Post #176 · 17.01.2021 г., 13:49

今天推荐一首可能不算是古典音乐?我也不是很确定,是莎士比亚戏剧《奥赛罗》里的一首歌The Willow Song,是剧本里就包含了这么一首歌的哦~最早应该是一首folk song,但是出处很难考证了,British Library还有当年的manuscript~ 这首歌是在《奥赛罗》的女主角Desdemona被她因为嫉妒心而错认为她不贞的丈夫快要杀掉的时刻唱的,非常令人难过。Lute的伴奏非常隽永,很喜欢~旋律也是非常有文艺复兴音乐的感觉~ #folk#voice https://www.youtube.com/watch?v=gQtOfHBaNqM ref: 1. 想看原版曲谱请点这里:https://shakespearedocumented.folger.edu/file/add-ms-15117-folio-18-recto 2. 快速了解奥赛罗的故事请点这里:https://www.bilibili.com/video/BV1wx411W7kY

Hashtags

小小溪部落

@tribebrook · Post #638 · 17.11.2025 г., 15:01

#Google#Voice 谷歌美国虚拟号码服务 Google Voice 推出订阅服务,每月 10 美元可以换取不回收号码。这项订阅服务包含转移合并通话录音、客服支持、911 救援支持、座机号码支持,不过对非美国用户来说最重要的可能就是号码不被回收,但为了不被回收 10 美元 / 月完全不值得,还是每个月发个短信打个电话保号比较好。 🔔 提示:限免,兑换码具有时效性,打开本频道通知,第一时间获取全网资讯!!! 🏠 消息 Via:loon 📰 群组 @homebrook 📢 频道 @home_brook 🤖 解封 | 投稿 Bot:@xia0_bot

TONlines – News

@tonlines · Post #6719 · 11.04.2025 г., 14:52

Tribute: Voice Actor Shares Success Story #Tribute#voice Tribute shares insights from a voice actor who has mastered monetizing talent using the platform. Learn how they turn their passion for voice acting into income. Source: link @tonlines

Classical Music

@exploreclassical · Post #261 · 20.04.2021 г., 13:15

今天分享施特劳斯的春之声(Frühlingsstimmen),估计大家都很熟悉了~分享一个女高音演唱版(感谢Ching兄推荐~ https://www.youtube.com/watch?v=IWMrPQ0VKWg #springClassical#voice ref: https://en.wikipedia.org/wiki/Frühlingsstimmen

ChatGPT AI Technology News

@chatgpt_officialnews · Post #286 · 23.09.2025 г., 15:53

🆕 AI News:Did you know? Scientists recently trained an AI to recognize emotions in human voices even better than some people can! Experts believe this could help build smarter assistants and even help diagnose health issues sooner. ❕ Would you trust an AI to sense your mood? ➖➖➖➖🔻 🧠 BOT: @Chatgpt_OfficialBOT 💎@Chatgpt_OfficialNews #️⃣#AI#Voice#News ➖➖➖➖🔺

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