มีชื่อแพคเกจ 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"
) เพื่อให้แน่ใจว่าจะเลือกหนึ่งที่เหมาะสมเมื่อใช้หรือpip
easy_install