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

Резултати

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

Пребарај: #p

当前筛选 #p清除筛选

#P.M.逻辑训练 这本《P.M.逻辑训练》杂志提供了丰富多样的逻辑谜题,助您提升思维能力。 * 杂志包含数独、填字等多种经典题型,挑战您的逻辑推理。 * 内容涵盖数字、文字、图案等多种元素,激发您的创造力。 * 谜题难度各异,适合不同水平的读者,让您在解谜中锻炼大脑。 * 杂志还提供详细解答,助您理解解题思路,提高解题技巧。 * 适合喜欢逻辑推理和挑战的读者,帮助您在娱乐中提升思维能力。

Hashtags

Макс КомикадZе

@maxkomikadze · Post #7116 · 25.10.2025 г., 09:21

Дамы и господа! Я прошу Вас уделить 1 минуту и оставить голос в петиции 👉https://vk.com/petition#p=86419 По личной просьбе семьи пропавшего бойца, которые уже не первый месяц пытаются хоть что-то добиться. Я оставила свой голос, ибо тоже столкнулась с тем, что в/ч игнорирует запросы. Благодарю заранее каждого, кто не остался равнодушен.

Hashtags

Genshin Null

@GenshinNull · Post #5576 · 03.11.2023 г., 02:13

(1/2/3/4/5) @GenshinNull#p 4.2 任务剧情部分出场角色信息 丝柯克(Skirk) - 日文 CV: 能登麻美子 - 猜测为成女模型[1][2] - 身上有鱼一样的鳍 - 在 4.2 版本任务剧情中登场 - 视频片段来自版本 PV 魔女会·代号 N 「尼可」 (Nicole) - 全名: Nicole Reeyn (ニコ・リヤン) - 日文 CV: 丰口惠美 - 在 4.2 版本任务剧情中仅以声音形式出现

Hashtags

Genshin Null

@GenshinNull · Post #5119 · 14.06.2023 г., 19:09

(1/2) @GenshinNull#P 来自枫丹的异色瞳少年角色 这是非常早期的设计, 很可能发生变化. 图二在色彩饱和度上与实际配色有一定差别.

Hashtags

Genshin Null

@GenshinNull · Post #4903 · 28.03.2023 г., 07:59

(1/2) @GenshinNull#P 关于新稻妻角色外观 1. 右侧马尾垂至肩部(不是短发); 2. 发色接近黑色巧克力的颜色, 不是紫色; 3. 配色: 红色, 橙色, 黑色, 棕色和黄色.

Hashtags

Genshin Null

@GenshinNull · Post #4873 · 14.03.2023 г., 12:38

(1/2/3/4) @GenshinNull#P 我们会在 3.8 版本或之后(枫丹版本前)看到法尔伽(Varka)大团长, 枫丹发布后我们会更加了解他. 法尔伽看起来并不像个老爷爷, 很年轻, 没有胡子.

Hashtags

Genshin Null

@GenshinNull · Post #4660 · 05.02.2023 г., 13:31

(1/2/3) @GenshinNull#P 白术(Baizhu)与卡维(Kaveh)相关 白术 - 是辅助/副C - 元素战技可长按 - 元素战技能生成护盾 - 将某种属性转换为精通 - 元素战技与蛇有关 - (很可能改变)具有某种协同攻击 - 没有治疗能力 卡维 - 使用一个盒子进行普通攻击 - 元素爆发从盒子中召唤领域

Hashtags

Genshin Null

@GenshinNull · Post #4463 · 13.01.2023 г., 14:54

(1/2) @GenshinNull#P [存疑] 迪希雅技能天赋 迪希雅(Dehya)是输出型角色; 元素战技(E)能在后台对敌人造成火元素附着, 伤害基于攻击力; 元素爆发(Q)改变攻击模组(transfiguration/変身), 但与魈, 赛诺, 雷电将军都不同, 伤害基于攻击力; 固有天赋基于百分比生命值提高元素战技(E)和元素爆发(Q)对应比例的伤害.

Hashtags

吃瓜群众🍉

@VBHGYTI11 · Post #4323 · 12.12.2024 г., 17:30

美国联邦调查局(FBI)悬赏捉拿四川省成都市的无声信息技术公司的员工关天峰。 联邦调查局亦强调,據信关天峰目前居住在中國四川省,或访问过泰国曼谷并与之有关。 请各位扩散此资讯。如果你知道他在哪里,可以通过Signal或Telegram线上联络联邦调查局印第安納波利斯分局,或者在 :tips.fbi.gov 提交相关讯息(请用英文)。 印第安納波利斯分局的联络资讯: 电话:+1 317 792 1100 Signal::signal.me#p+13177921100 (免费) Telegram::+13177921100 (免费) 千万美元大奖等着你来拿!

Hashtags

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