という名前の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")
その他の例を見る
このパッケージはあなたが投稿したものよりも少しだけ機能します(ソースを見てください、それはただ1つのファイルです)。プロジェクトはまだアクティブです(最初に回答する2日前に更新されましたが、7年以上経過しました(最後にチェックした2020-06-30)。それでも更新されます)。
注意:という名前の2番目のパッケージがありますslugify
。両方を持っている場合、インポート用に同じ名前が付いているため、問題が発生する可能性があります。名前slugify
が付けられたものは、私が簡単にチェックしたすべてを実行しませんでした:に"Ich heiße"
なった"ich-heie"
(はずです"ich-heisse"
)ので、pip
またはを使用するときは、正しいものを選択してくださいeasy_install
。