Python100个库分享第13个—awesome-slugify(处理Unicode)

目录

专栏导读

🌸 欢迎来到Python办公自动化专栏---Python处理办公问题,解放您的双手

🏳️‍🌈 博客主页:请点击------> 一晌小贪欢的博客主页求关注

👍 该系列文章专栏:请点击------>Python办公自动化专栏求订阅

🕷 此外还有爬虫专栏:请点击------>Python爬虫基础专栏求订阅

📕 此外还有python基础专栏:请点击------>Python基础学习专栏求订阅

文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

❤️ 欢迎各位佬关注! ❤️

库的介绍

awesome-slugify是一个Python slugify库,主要用于处理Unicode。

slugify是一种常见的字符串处理方式,用于将字符串转换为适合URL路径的格式,通常是将字符串中的空格替换为连字符(-)或下划线(_),并删除特殊字符。

在处理包含Unicode字符的字符串时,awesome-slugify库可以很好地处理这些字符,将它们转换为适合URL的格式。

库的安装

python 复制代码
pip install awesome-slugify -i https://pypi.tuna.tsinghua.edu.cn/simple/

基础用法1:用'-'连接

python 复制代码
from slugify import slugify
res = slugify ( 'Any text' )
print(res)

输出

python 复制代码
Any-text

基础用法1:汉字转拼音用'-'连接

python 复制代码
from slugify import slugify
title = "我的第一篇博客文章:关于Python编程"
slug = slugify(title)
print(slug)

输出

python 复制代码
Wo-De-Di-Yi-Pian-Bo-Ke-Wen-Zhang-Guan-Yu-PythonBian-Cheng

有个类似的库 ---python-slugify

安装

python 复制代码
pip install python-slugify -i https://pypi.tuna.tsinghua.edu.cn/simple/
python 复制代码
from slugify import slugify

txt = "This is a test ---"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")

txt = "___This is a test ---"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")

txt = "___This is a test___"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")

txt = "This -- is a ## test ---"
r = slugify(txt)
self.assertEqual(r, "this-is-a-test")

txt = '影師嗎'
r = slugify(txt)
self.assertEqual(r, "ying-shi-ma")

txt = 'C\'est déjà l\'été.'
r = slugify(txt)
self.assertEqual(r, "c-est-deja-l-ete")

txt = 'Nín hǎo. Wǒ shì zhōng guó rén'
r = slugify(txt)
self.assertEqual(r, "nin-hao-wo-shi-zhong-guo-ren")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt)
self.assertEqual(r, "jaja-lol-mememeoo-a")

txt = 'Компьютер'
r = slugify(txt)
self.assertEqual(r, "kompiuter")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=9)
self.assertEqual(r, "jaja-lol")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=15)
self.assertEqual(r, "jaja-lol-mememe")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=50)
self.assertEqual(r, "jaja-lol-mememeoo-a")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=15, word_boundary=True)
self.assertEqual(r, "jaja-lol-a")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=17, word_boundary=True)
self.assertEqual(r, "jaja-lol-mememeoo")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=18, word_boundary=True)
self.assertEqual(r, "jaja-lol-mememeoo")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=19, word_boundary=True)
self.assertEqual(r, "jaja-lol-mememeoo-a")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=20, word_boundary=True, separator=".")
self.assertEqual(r, "jaja.lol.mememeoo.a")

txt = 'jaja---lol-méméméoo--a'
r = slugify(txt, max_length=20, word_boundary=True, separator="ZZZZZZ")
self.assertEqual(r, "jajaZZZZZZlolZZZZZZmememeooZZZZZZa")

txt = 'one two three four five'
r = slugify(txt, max_length=13, word_boundary=True, save_order=True)
self.assertEqual(r, "one-two-three")

txt = 'one two three four five'
r = slugify(txt, max_length=13, word_boundary=True, save_order=False)
self.assertEqual(r, "one-two-three")

txt = 'one two three four five'
r = slugify(txt, max_length=12, word_boundary=True, save_order=False)
self.assertEqual(r, "one-two-four")

txt = 'one two three four five'
r = slugify(txt, max_length=12, word_boundary=True, save_order=True)
self.assertEqual(r, "one-two")

txt = 'this has a stopword'
r = slugify(txt, stopwords=['stopword'])
self.assertEqual(r, 'this-has-a')

txt = 'the quick brown fox jumps over the lazy dog'
r = slugify(txt, stopwords=['the'])
self.assertEqual(r, 'quick-brown-fox-jumps-over-lazy-dog')

txt = 'Foo A FOO B foo C'
r = slugify(txt, stopwords=['foo'])
self.assertEqual(r, 'a-b-c')

txt = 'Foo A FOO B foo C'
r = slugify(txt, stopwords=['FOO'])
self.assertEqual(r, 'a-b-c')

txt = 'the quick brown fox jumps over the lazy dog in a hurry'
r = slugify(txt, stopwords=['the', 'in', 'a', 'hurry'])
self.assertEqual(r, 'quick-brown-fox-jumps-over-lazy-dog')

txt = 'foo & bar'
r = slugify(txt)
self.assertEqual(r, 'foo-bar')

总结

希望对初学者有帮助

致力于办公自动化的小小程序员一枚

希望能得到大家的【一个免费关注】!感谢

求个 🤞 关注 🤞

此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

求个 ❤️ 喜欢 ❤️

此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

求个 👍 收藏 👍

此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

相关推荐
中云DDoS CC防护蔡蔡9 分钟前
爬虫爬数据犯法吗
运维·服务器·爬虫·python·http
小悟空GK35 分钟前
Http介绍
开发语言
JH_vision42 分钟前
Python OpenCV与霍夫变换:检测符合特定斜率范围的直线
python·目标检测
502胶水2051 小时前
腾讯地图异步调用
开发语言·ios·swift
SwBack1 小时前
【pearcmd】通过pearcmd.php 进行GetShell
android·开发语言·php
Lingoesforstudy1 小时前
c#中的超时终止
开发语言·笔记·c#
Yima_Dangxian1 小时前
爬虫笔记20——票星球抢票脚本的实现
笔记·爬虫·python
**K1 小时前
C++ 智能指针使用不当导致内存泄漏问题
开发语言·c++·算法
张飞飞飞飞飞1 小时前
RKNN3588——利用推理YOLOv8推理图片
python
叫我DPT1 小时前
数据库开发:mysql基础一
python·mysql·adb·数据库开发