07/09/2018, 11:15

In hoa chữ cái đầu tiên của mỗi từ trong Python

Trường hợp bạn có một chuỗi gồm một hoặc nhiều từ trong đó các chữ cái đầu tiên của mỗi từ chưa được in hoa như sau: hello python! Và bây giờ bạn muốn in hoa chữ cái đầu tiên trong mỗi từ của chuỗi trên, kết quả mong muốn như sau: Hello Python! Để làm việc này chúng ta sử dụng method ...

Trường hợp bạn có một chuỗi gồm một hoặc nhiều từ trong đó các chữ cái đầu tiên của mỗi từ chưa được in hoa như sau:

hello python!

Và bây giờ bạn muốn in hoa chữ cái đầu tiên trong mỗi từ của chuỗi trên, kết quả mong muốn như sau:

Hello Python!

Để làm việc này chúng ta sử dụng method title() của chuỗi trong Python.

Sử Dụng Method .title()

Python cung cấp method title() với các đối tượng string object để chuyển chữ cái đầu của từ trong chuỗi thành in hoa. Cách sử dụng method .title() rất đơn giản:

testString = "hello python!"
print(testString.title())

Lưu ý: Với Python phiên bản 3.x bạn không cần sử dụng cặp dấu ngoặc () với print.

Bạn có thể tham khảo kết quả chạy đoạn câu lệnh trên sử dụng python interactive trên máy mình như hình dưới:

Python title() method

Sử Dụng Method .capwords()

Cách sử dụng title() như ở trên gặp phải lỗi khi chuỗi có chứa ký tự trong UTF-8:

# -*- coding: utf-8 -*-
testString = "xin chào python!"
print(testString.title())

Lưu ý: Dòng comment đầu tiên là cần có trong trường hợp bạn xuất hiện ký tự khác với ASCII trong chương trình Python. Điều này giúp tránh gặp lỗi no encoding delcared.

Trường hợp này bạn sẽ sử dụng method khác của package string có tên là .capwords():

import string
testString = "hello python!"
print(string.capwrods(testString))

Lưu ý: Bạn cần import string package trước khi sử dụng.

Bạn có thể tham khảo kết quả chạy đoạn câu lệnh trên sử dụng python interactive trên máy mình như hình dưới:

Python capwords() method

Kết Luận

Trong bài viết mình chia sẻ hai cách khác nhau để in hoa ký tự đầu tiên của từ có trong chuỗi sử dụng method .title() của string object và .capwords() của string package. Đừng quyên share nếu bạn thấy bài viết hữu ích nhé!

0