2011-10-19 42 views
7

Tôi đang tìm thư viện viết hoa đúng cách một chuỗi nhất định bằng cách giả sử nó là một tiêu đề. Tôi biết có string.title(), nhưng nó tận dụng mọi công việc, không chỉ là công việc mà nên được viết hoa. Bất cứ ai biết bất kỳ thư viện?Viết hoa phù hợp cho các tiêu đề bằng Python

Ví dụ về các từ mà không được viết hoa trong tiêu đề:

  • Döï Luaät (trong, từ, vv)
  • điều (a, an, các)
  • van
  • de
+5

Làm cách nào để "lái xe về nhà xe" được viết hoa? –

+0

"Lái xe về nhà Van" – Raz

Trả lời

14

Cụm từ của Google là "titlecase". Các first hitthe titlecase package:

$ pip install titlecase 
... 
$ python 
... 
>>> from titlecase import titlecase 
>>> titlecase('the spam and eggs') 
'The Spam and Eggs' 
0

Nếu bạn muốn capitolise một chuỗi nhưng chỉ capitolise một số từ, bạn sẽ cần phải xác định trong một số danh sách những từ bạn không muốn capitolised và sau đó làm điều gì đó tương tự như:

excluded_words = ["words","you","want","excluded"] 

titled = [word.capitalize() if word not in excluded_words else word 
      for word in title.split(" ")] 

Điều này chỉ xảy ra nếu bạn có một số tiêu chuẩn lạ (hoặc không được triển khai) mà bạn muốn sử dụng. Nếu bạn có thể tìm thấy một gói thực hiện điều này và tuân thủ các tiêu chuẩn bạn muốn, sau đó sử dụng nó thay thế.

+1

sử dụng tập hợp thay thế: 'excluded_words = {" words "," you "," want "," excluded "}'. Bộ sử dụng băm, rất hiệu quả. – sleblanc

Các vấn đề liên quan