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 Show
Sử dụng title() để viết hoa chữ cái đầu tiên của mỗi từ trong chuỗi trong pythonLớ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,
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ỗiLớ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ỗiMô-đ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. This Is A Sample String0 đầu ra This Is A Sample String1 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ỗiSử 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 String2 đầu ra This Is A Sample String3 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 String4 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 String5 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 String6 đầu ra This Is A Sample String7 Hướng dẫn về Pandas -Tìm hiểu Phân tích dữ liệu với Python
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 PythonHã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 |