Bạn có thể xóa một ký tự khỏi chuỗi Python bằng cách sử dụng Replace () hoặc translate (). Cả hai phương thức này đều thay thế một ký tự hoặc chuỗi bằng một giá trị nhất định. Nếu một chuỗi trống được chỉ định, ký tự hoặc chuỗi bạn chọn sẽ bị xóa khỏi chuỗi mà không cần thay thế.
Python Xóa một ký tự khỏi chuỗi
Không phải mọi chuỗi đều chứa các giá trị mà chúng ta muốn chúng chứa. Người dùng có thể chèn một ký hiệu vào trường nhập liệu mà bạn không muốn xuất hiện. Bạn có thể muốn xóa bất kỳ trường hợp nào của một ký tự cụ thể khỏi một chuỗi.
Bạn muốn xóa ký tự nào khỏi chuỗi không quan trọng. Python đã giúp bạn!
Trong hướng dẫn này, chúng ta sẽ thảo luận về cách xóa một ký tự hoặc tập hợp các ký tự khỏi một chuỗi. Chúng tôi sẽ tham khảo một số ví dụ trong quá trình thực hiện.
Chúng ta sẽ thảo luận về các cách tiếp cận sau:
- Sử dụng phương thức Replace ()
- Sử dụng phương thức biến đổi ()
- Xóa ký tự cuối cùng bằng lập chỉ mục
Hãy bắt đầu!
Xóa ký tự khỏi chuỗi Python:Replace ()
Chuỗi Replace () hàm thay thế một ký tự bằng một ký tự mới. Hàm này có thể được sử dụng để thay thế bất kỳ ký tự nào bằng một chuỗi trống.
Chúng tôi đang xây dựng một chương trình yêu cầu người dùng chèn tên người dùng. Ký tự gạch dưới (_) không được phép trong tên người dùng. Mở một tệp Python mới và dán vào mã sau:
81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.
Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.
username =input ("Chọn tên người dùng:") final_username =username.replace ("_", "") print ("Tên người dùng của bạn là:" + final_username)
Mã này yêu cầu người dùng chọn tên người dùng bằng cách sử dụng phương thức input ().
Replace () phương thức xóa ký tự gạch dưới khỏi chuỗi gốc và thay thế tất cả các trường hợp của ký tự đó bằng một chuỗi trống. Sau đó, chúng tôi in tên người dùng không có dấu gạch dưới bảng điều khiển.
Hãy chạy chương trình của chúng tôi:
Chọn tên người dùng:pythonista_101Tên người dùng của bạn là:pythonista101
Mã của chúng tôi đã xóa ký tự gạch dưới khỏi tên người dùng mà chúng tôi đã chỉ định. Mã của chúng tôi hoạt động trên các chuỗi không chứa dấu gạch dưới:
Chọn tên người dùng:pythonista101 Tên người dùng của bạn là:pythonista101
Khi tên người dùng không có dấu gạch dưới, không có gì xảy ra.
Xóa nhiều ký tự bằng cách sử dụng Replace ()
Điều gì xảy ra nếu bạn muốn xóa nhiều ký tự khỏi một chuỗi? Python có thể giúp bạn. Chúng tôi có thể sử dụng Replace () phương thức bên trong vòng lặp for để xóa nhiều ký tự khỏi một chuỗi.
Trong ví dụ cuối cùng của chúng tôi, chúng tôi đã xóa một ký tự gạch dưới khỏi tên người dùng. Điều gì sẽ xảy ra nếu chúng ta muốn xóa tất cả các dấu chấm (dấu chấm hết), dấu gạch dưới và dấu chấm than khỏi chuỗi của mình? Tạo một tệp Python mới và dán vào mã này:
username =input ("Chọn tên người dùng:") disallowed_characters ="._!" cho ký tự trong disallowed_characters:username =username.replace (character, "") print ("Tên người dùng của bạn là:" + tên người dùng)Đầu tiên, chúng tôi đã yêu cầu người dùng chọn tên người dùng. Sau đó, chúng tôi đã xác định một chuỗi chứa tất cả các ký tự không được xuất hiện trong tên người dùng của người dùng.
Tiếp theo, chúng ta đã tạo một vòng lặp for. Vòng lặp for này lặp lại qua mọi ký tự trong chuỗi “disallowed_characters”. Trong mỗi lần lặp, ký tự mà vòng lặp for đang lặp lại sẽ được thay thế trong chuỗi "tên người dùng" bằng một ký tự trống.
Hãy chạy mã của chúng tôi:
Chọn tên người dùng:pythonista.101 !!! Tên người dùng của bạn là:pythonista101Mã của chúng tôi đã lọc ra dấu chấm và dấu chấm than.
Xóa ký tự khỏi chuỗi Python:translate ()
Phương thức translate () trong Python thay thế các ký tự trong một chuỗi theo nội dung của bảng ký tự. Phương thức này chấp nhận một đối số:bảng dịch với các ký tự để ánh xạ.
Để sử dụng phương pháp này, chúng ta cần tạo một bảng dịch. Bảng này chỉ định những ký tự nào nên được thay thế trong một chuỗi.
Hãy sử dụng dịch () phương pháp xóa tất cả các dấu gạch dưới khỏi tên người dùng:
username =input ("Chọn tên người dùng:") final_username =username.translate ({ord ("_"):None}) print ("Tên người dùng của bạn là:" + final_username)Mã này thay thế mọi trường hợp của ký tự “_” bằng giá trị Không có. Phương thức ord () trong Python trả về mã Unicode được liên kết với ký tự “_”. Điều này được sử dụng bởi translate () để xác định ký tự mà chúng tôi muốn xóa.
Xóa nhiều ký tự bằng cách sử dụng dịch ()
Bạn có thể xóa nhiều ký tự khỏi một chuỗi bằng cách sử dụng translate () .
Chúng ta có thể làm điều này bằng cách tạo một trình lặp lặp qua danh sách các ký tự mà chúng ta muốn xóa khỏi một chuỗi.
Hãy xóa tất cả dấu gạch dưới, dấu chấm và dấu chấm than khỏi tên người dùng:
username =input ("Chọn tên người dùng:") final_username =username.translate ({ord (c):Không có cho c trong "._!"}) print ("Tên người dùng của bạn là:" + final_username)Dịch () phương pháp kiểm tra xem mỗi ký tự trong chuỗi “tên người dùng” có bằng một dấu chấm hết, dấu chấm than hay dấu gạch dưới hay không. Nếu một trong các ký tự này được tìm thấy, nó sẽ được thay thế bằng Không có. Thao tác này sẽ xóa ký tự khỏi chuỗi.
Chúng tôi đang sử dụng khả năng hiểu danh sách Python để lặp lại mọi ký tự trong danh sách ký tự bị loại trừ của chúng tôi.
Hãy thử nghiệm chương trình của chúng tôi:
Chọn tên người dùng:pythonista_100! Tên người dùng của bạn là:pythonista101Mã của chúng tôi đã xóa thành công tất cả các ký tự đặc biệt mà chúng tôi đã chỉ định khỏi chuỗi của mình.
Python:Xóa ký tự cuối cùng khỏi chuỗi
Để xóa ký tự cuối cùng khỏi một chuỗi, hãy sử dụng ký hiệu lát cắt [:-1]. Ký hiệu này chọn ký tự ở vị trí chỉ mục -1 (ký tự cuối cùng trong danh sách). Sau đó, cú pháp trả về mọi ký tự ngoại trừ ký tự đó.
Cú pháp để xóa ký tự cuối cùng khỏi chuỗi là:
your_string ="Một chuỗi" in (your_string [:- 1])Ví dụ về loại bỏ ký tự cuối cùng
Chúng tôi muốn xây dựng một chương trình loại bỏ ký tự cuối cùng khỏi mã định danh nhân viên. Ký tự này cho chúng ta biết bộ phận mà một nhân viên làm việc.
Ví dụ:giá trị “M” cho chúng ta biết một nhân viên làm việc cho bộ phận tiếp thị. Chúng tôi sẽ xóa nhân vật này. Hệ thống theo dõi nhân viên này đang được thay thế bằng một hệ thống mới. Hệ thống mới theo dõi bộ phận mà nhân viên làm việc.
Hãy bắt đầu bằng cách yêu cầu người dùng chèn mã nhận dạng nhân viên bằng phương thức input ():
IDfier =input ("Nhận dạng của nhân viên là gì?")Tiếp theo, chúng tôi xóa ký tự cuối cùng khỏi mã định danh:
new_identifier =IDfier [:- 1][:-1] là một thao tác lát chuỗi xóa ký tự cuối cùng khỏi danh sách. Chúng tôi sử dụng lập chỉ mục phủ định để truy xuất các mục từ cuối chuỗi. Bây giờ, hiển thị số nhận dạng mới của nhân viên trên bảng điều khiển:
print ("Số nhận dạng mới của nhân viên là {}.". format (new_identifier))Câu lệnh format () thay thế các dấu ngoặc nhọn bên trong chuỗi của chúng tôi bằng số nhận dạng mới của nhân viên. Hãy chạy mã của chúng tôi và xem điều gì sẽ xảy ra:
Định danh của nhân viên là gì? 28371 Mã định danh mới của nhân viên đó là 28371.Chương trình của chúng tôi xóa giá trị cuối cùng trong số nhận dạng của nhân viên.
Kết luận
Bạn có thể xóa một ký tự hoặc nhiều ký tự khỏi chuỗi bằng cách sử dụng Replace () hoặc dịch () . Cả Replace () và dịch () các phương thức trả về cùng một kết quả:một chuỗi không có các ký tự bạn đã chỉ định.
Đối với người mới bắt đầu, Replace () phương pháp này dễ sử dụng hơn. Điều này là do nó chỉ chấp nhận hai tham số.
Tham số đầu tiên là ký tự bạn muốn thay thế. Tham số thứ hai của chúng tôi là giá trị mà bạn muốn thay thế ký tự. Nếu bạn muốn thay thế nhiều ký tự, bạn có thể sử dụng vòng lặp for.
Bạn có muốn tìm hiểu thêm về Python? Hãy xem hướng dẫn Cách học Python đầy đủ của chúng tôi để biết các mẹo của chuyên gia giúp bạn thúc đẩy hành trình học tập của mình.