มีชื่อแพคเกจ 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")
ดูตัวอย่างเพิ่มเติม
แพคเกจนี้ทำได้มากกว่าที่คุณโพสต์ไว้เล็กน้อย (ดูที่มามันเป็นแค่ไฟล์เดียว) โครงการยังคงใช้งานอยู่ (ได้รับการอัปเดต 2 วันก่อนที่ฉันจะตอบครั้งแรกในอีกเจ็ดปีต่อมา (ตรวจสอบครั้งล่าสุดเมื่อวันที่ 2020-06-30) โครงการยังคงได้รับการอัปเดต)
ระวัง : slugifyมีแพคเกจที่สองคือรอบชื่อ หากคุณมีทั้งสองอย่างคุณอาจพบปัญหาเนื่องจากมีชื่อเดียวกันสำหรับการนำเข้า อย่างใดอย่างหนึ่งเพียงชื่อslugifyไม่ได้ทำทุกอย่างที่ฉันอย่างรวดเร็วการตรวจสอบ: "Ich heiße"กลายเป็น"ich-heie"(ควรจะ"ich-heisse") เพื่อให้แน่ใจว่าจะเลือกหนึ่งที่เหมาะสมเมื่อใช้หรือpipeasy_install