Có một gói python được đặt tên python-slugify
, thực hiện khá tốt công việc xử lý nước thải:
pip install python-slugify
Hoạt động như thế này:
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")
Xem thêm các ví dụ
Gói này làm được nhiều hơn một chút so với những gì bạn đã đăng (hãy xem nguồn, nó chỉ là một tệp). Dự án vẫn đang hoạt động (được cập nhật 2 ngày trước khi tôi trả lời ban đầu, hơn bảy năm sau (kiểm tra lần cuối 2020-06-30), nó vẫn được cập nhật).
cẩn thận : Có một gói thứ hai xung quanh, được đặt tên slugify
. Nếu bạn có cả hai, bạn có thể gặp sự cố, vì chúng có cùng tên để nhập. Cái vừa được đặt tên slugify
không làm được tất cả những gì tôi đã kiểm tra nhanh: "Ich heiße"
trở thành "ich-heie"
(nên là "ich-heisse"
), vì vậy hãy đảm bảo chọn đúng, khi sử dụng pip
hoặc easy_install
.