有一个名为的python程序包python-slugify
,它可以很好地实现Slugifying:
pip install python-slugify
像这样工作:
from slugify import slugify
txt = "This is a test ---"
r = slugify(txt)
self.assertEquals(r, "this-is-a-test")
txt = "This -- is a ## test ---"
r = slugify(txt)
self.assertEquals(r, "this-is-a-test")
txt = 'C\'est déjà l\'été.'
r = slugify(txt)
self.assertEquals(r, "cest-deja-lete")
txt = 'Nín hǎo. Wǒ shì zhōng guó rén'
r = slugify(txt)
self.assertEquals(r, "nin-hao-wo-shi-zhong-guo-ren")
txt = 'Компьютер'
r = slugify(txt)
self.assertEquals(r, "kompiuter")
txt = 'jaja---lol-méméméoo--a'
r = slugify(txt)
self.assertEquals(r, "jaja-lol-mememeoo-a")
查看更多示例
该软件包比您发布的内容多一点(看看源代码,它只是一个文件)。该项目仍处于活动状态(在我最初回答的前两天进行了更新,超过了七年时间(最新检查时间为2020-06-30),但仍在更新中)。
注意:周围还有第二个包装,名为slugify
。如果两者都使用,则可能会出现问题,因为它们具有相同的导入名称。刚命名的那个slugify
并没有做我快速检查过的所有事情:"Ich heiße"
变成了"ich-heie"
(应该是"ich-heisse"
),因此在使用pip
或时一定要选择正确的一个easy_install
。