Chương trình Python để viết hoa mọi chữ cái khác

Trong bài viết này, chúng ta sẽ thảo luận về 5 cách khác nhau để chuyển đổi chữ cái đầu tiên của mỗi từ trong một chuỗi thành chữ hoa. Chúng tôi cũng sẽ thảo luận về những hạn chế của từng phương pháp và phương pháp nào là tốt nhất cho chúng tôi

Sử dụng title[] để viết hoa chữ cái đầu tiên của mỗi từ trong chuỗi trong python

Lớp Python Str cung cấp một hàm thành viên title[] làm cho mỗi tiêu đề từ được đặt trong chuỗi. Nó có nghĩa là, nó chuyển đổi ký tự đầu tiên của mỗi từ thành chữ hoa và tất cả các ký tự còn lại của từ thành chữ thường

Hãy sử dụng điều này để viết hoa chữ cái đầu tiên của mỗi từ trong một chuỗi,

sample_text = "this is a sample string"

# Capitalize the first letter of each word i.e.
# Convert the first letter of each word to Upper case and all other to lower case
result = sample_text.title[]

print[result]

đầu ra

quảng cáo

This Is A Sample String

Nó hoạt động tốt với giải pháp này, nhưng có một lưu ý. Hàm title[] không chỉ viết hoa chữ cái đầu tiên của mỗi từ trong một chuỗi mà còn biến tất cả các ký tự còn lại của mỗi từ thành chữ hoa. Ví dụ,

sample_text = "33a. it's GONE too far"

# Capitalize the first letter of each word
result = sample_text.title[]

print[result]

đầu ra

33A. It'S Gone Too Far

Có 3 hành vi không mong muốn trong ví dụ trên,

  • Trong ví dụ này, nó đã chuyển đổi “GONE” thành “Gone”, bởi vì đối với mỗi từ trong chuỗi, nó chỉ tạo ký tự đầu tiên là chữ hoa và tất cả các ký tự còn lại là chữ thường
  • Nó đã chuyển đổi “it’s” thành “It’S”, bởi vì nó coi “it’s” là hai từ riêng biệt
  • Nó đã chuyển đổi “33a” thành “33A” , vì nó coi “a” là chữ cái đầu tiên của từ '33a'

Vì vậy, hàm title[] không phải là giải pháp tốt nhất để viết hoa chữ cái đầu tiên của mỗi từ trong một chuỗi. Hãy thảo luận về một giải pháp khác,

Sử dụng viết hoa [] để viết hoa chữ cái đầu tiên của mỗi từ trong một chuỗi

Lớp Python Str cung cấp một hàm viết hoa [], nó chuyển đổi ký tự đầu tiên của chuỗi thành chữ hoa. Trường hợp nó đã ở dạng chữ hoa thì nó không làm gì cả

Chúng ta có thể sử dụng chữ viết hoa [] này để viết hoa chữ cái đầu tiên của mỗi từ trong một chuỗi. Để làm được điều đó, chúng ta cần chia chuỗi của mình thành một danh sách các từ và sau đó trên mỗi từ trong danh sách, chúng ta cần gọi hàm viết hoa[]. Sau đó, chúng ta cần nối tất cả các từ viết hoa để tạo thành một chuỗi lớn

Hãy hiểu điều này với một ví dụ,

def capitalize_each_word[original_str]:
    result = ""
    # Split the string and get all words in a list
    list_of_words = original_str.split[]
    # Iterate over all elements in list
    for elem in list_of_words:
        # capitalize first letter of each word and add to a string
        if len[result] > 0:
            result = result + " " + elem.strip[].capitalize[]
        else:
            result = elem.capitalize[]
    # If result is still empty then return original string else returned capitalized.
    if not result:
        return original_str
    else:
        return result

sample_text = "33a. it's GONE too far"

result = capitalize_each_word[sample_text]

print[result]

đầu ra

33a. It's Gone Too Far

Nó đã chuyển đổi chữ cái đầu tiên của mỗi từ trong chuỗi thành chữ hoa

Thay vì viết hàm lớn, chúng ta có thể đạt được điều tương tự bằng cách sử dụng các biểu thức trình tạo i. e

sample_text = "33a. it's GONE too far"

result = ' '.join[elem.capitalize[] for elem in sample_text.split[]]

print[result]

đầu ra

33a. It's Gone Too Far

Ở đây, chúng tôi chia chuỗi thành các từ và lặp lại từng từ trong chuỗi bằng cách sử dụng biểu thức trình tạo. Trong khi lặp lại, chúng tôi đã gọi hàm viết hoa [] trên mỗi từ, để chuyển đổi chữ cái đầu tiên thành chữ hoa và nối từ đó thành một chuỗi bằng cách sử dụng ‘ ‘ làm dấu phân cách

Nó phục vụ mục đích, nhưng có thể có một vấn đề trong cách tiếp cận này tôi. e. nếu các từ trong chuỗi gốc được phân tách bằng nhiều khoảng trắng hoặc tab, v.v. Sau đó, cách tiếp cận này có thể gây ra lỗi, bởi vì chúng tôi đang nối tất cả các từ viết hoa bằng cách sử dụng cùng một dấu phân cách i. e. một khoảng trắng duy nhất. Kiểm tra ví dụ này,

________số 8

đầu ra

This Is A Sample String

Ở đây, chuỗi ban đầu có nhiều khoảng cách giữa các từ, nhưng trong chuỗi cuối cùng của chúng tôi, tất cả các từ viết hoa được phân tách bằng một khoảng trắng. Đối với một số điều này có thể không phải là hành vi đúng. Vì vậy, để khắc phục vấn đề này, hãy kiểm tra phương pháp tiếp theo của chúng tôi

Sử dụng chuỗi. capwords[] để viết hoa chữ cái đầu tiên của mỗi từ trong một chuỗi

Mô-đun chuỗi của Python cung cấp hàm capwords[] để chuyển đổi chữ cái đầu tiên thành chữ hoa và tất cả các chữ cái còn lại thành chữ thường.
Về cơ bản, nó chia chuỗi thành các từ và sau khi viết hoa từng từ, nối chúng lại bằng một dấu phân cách nhất định. Kiểm tra ví dụ này,

This Is A Sample String
0

đầu ra

This Is A Sample String
1

Vấn đề với giải pháp là nó không chỉ chuyển chữ cái đầu tiên của từ thành chữ hoa mà còn biến các chữ cái còn lại của từ thành chữ thường. Đối với một số người, đây có thể không phải là giải pháp chính xác

Vì vậy, hãy thảo luận về giải pháp cuối cùng và tốt nhất của chúng tôi để thực hiện những gì chỉ được mong đợi từ nó

Sử dụng Regex để viết hoa chữ cái đầu tiên của mỗi từ trong một chuỗi

Sử dụng regex, chúng tôi sẽ tìm ký tự bắt đầu của mỗi từ và chuyển thành chữ hoa. Ví dụ,

This Is A Sample String
2

đầu ra

This Is A Sample String
3

Nó chỉ viết hoa ký tự đầu tiên của mỗi từ trong chuỗi và không sửa đổi khoảng trắng giữa các từ

Nó đã hoạt động như thế nào?

Chúng tôi đã tạo sử dụng một mẫu “[^. \s][\S]”. Nó tìm kiếm các mẫu chuỗi bắt đầu bằng 0 hoặc nhiều khoảng trắng và sau đó có một ký tự không phải khoảng trắng. Sau đó, đối với mỗi trường hợp phù hợp, nó nhóm cả khoảng trắng ban đầu và ký tự đầu tiên thành các nhóm riêng biệt. Sử dụng biểu thức chính quy. sub[], chúng tôi đã chuyển từng phiên bản khớp của mẫu thành hàm convert_to_uppercase[], hàm này sẽ chuyển đổi nhóm thứ hai i. e. chữ cái đầu tiên của từ thành chữ hoa và sau đó nối nó với nhóm đầu tiên [không có hoặc nhiều khoảng trắng]

Đối với chuỗi,

This Is A Sample String
4

Hàm convert_to_uupercase[] được gọi 4 lần bởi regex. sub[] và trong mỗi nhóm cuộc gọi 1 & 2 của đối tượng khớp là,

This Is A Sample String
5

Bên trong convert_to_uupercase[], nó đã chuyển đổi nhóm thứ hai i. e. ký tự đầu tiên của mỗi từ thành chữ hoa

Vì vậy, đây là cách chúng ta có thể viết hoa chữ cái đầu tiên của mỗi từ trong một chuỗi bằng biểu thức chính quy và không ảnh hưởng đến bất kỳ ký tự nào khác của chuỗi

Ví dụ đầy đủ như sau,

This Is A Sample String
6

đầu ra

This Is A Sample String
7

Hướng dẫn về Pandas -Tìm hiểu Phân tích dữ liệu với Python

 
  • Hướng dẫn Pandas Phần #1 - Giới thiệu về Phân tích dữ liệu với Python
  • Hướng dẫn Pandas Phần #2 - Khái niệm cơ bản về Pandas Series
  • Hướng dẫn Pandas Phần #3 - Nhận & Đặt giá trị Chuỗi
  • Pandas Tutorial Part #4 - Thuộc tính & phương thức của Pandas Series
  • Hướng dẫn về Pandas Phần #5 - Thêm hoặc xóa các thành phần của Pandas Series
  • Hướng dẫn về Pandas Phần #6 - Giới thiệu về DataFrame
  • Hướng dẫn về Pandas Phần #7 - DataFrame. loc[] - Chọn Hàng/Cột theo Lập chỉ mục
  • Hướng dẫn về Pandas Phần #8 - DataFrame. iloc[] - Chọn Hàng/Cột theo Tên Nhãn
  • Hướng dẫn về gấu trúc Phần #9 - Lọc các hàng trong khung dữ liệu
  • Hướng dẫn Pandas Phần #10 - Thêm/Xóa Hàng & Cột DataFrame
  • Hướng dẫn về Pandas Phần #11 - Các thuộc tính & phương thức DataFrame
  • Hướng dẫn Pandas Phần #12 - Xử lý dữ liệu bị thiếu hoặc giá trị NaN
  • Hướng dẫn về Pandas Phần #13 - Lặp lại các Hàng & Cột của DataFrame
  • Hướng dẫn Pandas Phần #14 - Sắp xếp DataFrame theo Hàng hoặc Cột
  • Hướng dẫn về gấu trúc Phần #15 - Hợp nhất hoặc ghép các khung dữ liệu
  • Hướng dẫn về Pandas Phần #16 - DataFrame GroupBy được giải thích bằng các ví dụ
 

Bạn đang muốn tạo dựng sự nghiệp trong Khoa học dữ liệu với Python?

Khoa học dữ liệu là tương lai và tương lai là ở đây ngay bây giờ. Các nhà khoa học dữ liệu hiện là những chuyên gia được tìm kiếm nhiều nhất hiện nay. Để trở thành một Nhà khoa học dữ liệu giỏi hoặc để chuyển đổi nghề nghiệp trong Khoa học dữ liệu, người ta phải sở hữu bộ kỹ năng phù hợp. Chúng tôi đã tuyển chọn danh sách Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python. Các khóa học này sẽ dạy cho bạn các công cụ lập trình cho Khoa học dữ liệu như Pandas, NumPy, Matplotlib, Seaborn và cách sử dụng các thư viện này để triển khai các mô hình Máy học

Kiểm tra Đánh giá chi tiết về Chứng chỉ chuyên nghiệp tốt nhất về Khoa học dữ liệu với Python

Hãy nhớ rằng, Khoa học dữ liệu đòi hỏi rất nhiều kiên nhẫn, bền bỉ và thực hành. Vì vậy, hãy bắt đầu học ngay hôm nay

Chủ Đề