Trong hướng dẫn này, chúng ta sẽ xem xét cách xóa các ký tự không phải chữ và số khỏi một chuỗi trong Python với sự trợ giúp của một số ví dụ
Các ký tự chữ và số là gì?
Một ký tự là một ký tự chữ và số nếu đó là một bảng chữ cái [a đến z, A đến Z] hoặc một chữ số [0 đến 9]. Ví dụ: chuỗi
True True True False False9 chỉ chứa các ký tự chữ và số trong khi chuỗi
True True True False False0 chứa một ký tự không phải chữ và số [
True True True False False1][email protected]#$_123" # remove non alphanuemeric characters new_s = ''.join[c for c in s if c.isalnum[]] print[new_s]
đầu ra
Striker123
Bạn có thể thấy rằng chuỗi kết quả không có bất kỳ ký tự nào không phải chữ và số. Ở đây, chúng tôi lặp lại tất cả các ký tự trong chuỗi gốc và chỉ giữ lại ký tự đó nếu đó là ký tự chữ và số mà chúng tôi kiểm tra bằng hàm chuỗi
True True True False False2. Sau đó, chúng tôi sử dụng hàm chuỗi
True True True False False1 để nối từng ký tự
Sử dụng biểu thức chính quy để xóa các ký tự không phải chữ và số
Chúng ta cũng có thể sử dụng các biểu thức chính quy để loại bỏ các ký tự như vậy. Ví dụ: chúng ta có thể viết một biểu thức chính quy để khớp với tất cả các ký tự không phải chữ và số trong chuỗi và sau đó thay thế chúng bằng một chuỗi rỗng. Bạn có thể sử dụng thư viện
True True True False False6 trong Python để triển khai khớp mẫu biểu thức chính quy________số 8
đầu ra
Striker123
Chúng tôi nhận được kết quả tương tự như trên
Để biết thêm về các biểu thức chính quy trong Python, hãy tham khảo hướng dẫn này
Bạn cũng có thể quan tâm đến -
- Xóa ký tự đầu tiên khỏi chuỗi trong Python
- Xóa ký tự cuối cùng khỏi chuỗi trong Python
Đăng ký nhận bản tin của chúng tôi để biết thêm thông tin và hướng dẫn.
Chúng tôi không gửi thư rác và bạn có thể chọn không tham gia bất kỳ lúc nào.
Tác giả
Piyush Raj
Piyush là một chuyên gia dữ liệu đam mê sử dụng dữ liệu để hiểu mọi thứ tốt hơn và đưa ra quyết định sáng suốt. Trước đây, anh ấy từng là Nhà khoa học dữ liệu cho ZS và có bằng kỹ sư của IIT Roorkee. Sở thích của anh ấy bao gồm xem cricket, đọc sách và làm việc trong các dự án phụ
Trong bài viết này, chúng ta sẽ thảo luận về bốn cách khác nhau để xóa tất cả các ký tự không phải chữ và số khỏi chuỗi. Những cách này là,
- Sử dụng Regex
- Sử dụng tham gia[]
- Sử dụng bộ lọc[] và tham gia[]
- Sử dụng vòng lặp
Hãy thảo luận từng cái một,
Xóa tất cả các ký tự không phải chữ và số bằng regex
Trong Python, mô-đun regex cung cấp một hàm sub[], thay thế các ký tự của một chuỗi dựa trên mẫu biểu thức chính quy phù hợp. Chữ ký của hàm sub[] như sau,
True True True False False
0Chúng ta có thể sử dụng điều này cho tất cả các ký tự không phải chữ và số từ một chuỗi. Đối với điều này, chúng ta cần chuyển một mẫu biểu thức chính quy khớp với tất cả các ký tự ngoại trừ các ký tự chữ và số như r”[^A-Za-z0-9]+”. Ngoài ra, để thay thế chuỗi, chúng ta cần chuyển chuỗi rỗng. Ví dụ,
True True True False False
1đầu ra
True True True False False
2Ở đây, hàm sub[] đã tìm kiếm tất cả các ký tự không phải chữ và số và sau đó thay thế chúng bằng chuỗi rỗng. Sau đó, cuối cùng trả về một bản sao của chuỗi gốc nhưng chỉ có các ký tự chữ và số. Chúng tôi đã gán lại chuỗi mới này cho biến ban đầu, nó tạo ra hiệu ứng là chúng tôi đã xóa tất cả các ký tự không phải chữ và số khỏi chuỗi
Xóa tất cả các ký tự không phải chữ và số bằng cách sử dụng tham gia [] is & isalpha []
Trong Python, chuỗi cũng cung cấp hàm isalpha[]. Trả về True nếu tất cả các ký tự trong đối tượng chuỗi gọi là chữ và số. Chúng ta có thể sử dụng hàm này cùng với hàm join[]. Vì vậy, để xóa tất cả các ký tự không phải chữ và số khỏi một chuỗi, chúng tôi sẽ lặp lại lần lượt từng ký tự của chuỗi và bỏ qua các ký tự không phải chữ và số. Sau đó dùng hàm join[] ta sẽ gộp các ký tự còn lại. Ví dụ,
True True True False False
3đầu ra
True True True False False
2Nó đã xóa tất cả các ký tự không phải chữ và số khỏi chuỗi
Xóa tất cả các ký tự không phải chữ và số bằng cách sử dụng bộ lọc [], tham gia [] và isalpha []
Chúng ta có thể sử dụng hàm filter[] để lọc tất cả các ký tự không phải chữ và số từ một chuỗi. Các bước như sau,
- Truyền hàm isalpha[] làm đối số có điều kiện cho hàm filter[], cùng với chuỗi cần sửa đổi
- hàm filter[] chỉ mang lại những ký tự từ chuỗi đã cho mà hàm isalpha[] trả về True i. e. chỉ ký tự chữ và số
- Sử dụng hàm join[] để kết hợp tất cả các ký tự được tạo bởi hàm filter[] i. a. chỉ ký tự chữ và số
- Gán lại chuỗi được hàm join[] trả về cho biến ban đầu. Nó sẽ tạo hiệu ứng chúng tôi đã xóa tất cả các ký tự không phải chữ và số
Ví dụ,
True True True False False
5đầu ra
True True True False False
2Nó đã xóa tất cả các ký tự không phải chữ và số khỏi chuỗi
Xóa tất cả các ký tự không phải chữ và số khỏi chuỗi bằng vòng lặp for
Tạo một chuỗi tạm thời trống mới. Sau đó lặp lại tất cả các ký tự trong chuỗi bằng vòng lặp for và kiểm tra từng ký tự xem nó có phải là chữ và số hay không. Nếu nó là chữ và số, hãy nối nó vào chuỗi tạm thời được tạo trước đó. Khi vòng lặp for kết thúc, chuỗi tạm thời chỉ chứa các ký tự chữ và số từ chuỗi ban đầu. Gán chuỗi tạm thời cho biến ban đầu. Nó sẽ tạo hiệu ứng chúng tôi đã xóa tất cả các ký tự không phải chữ và số. Ví dụ,
True True True False False
7đầu ra
True True True False False
2Nó đã xóa tất cả các ký tự không phải chữ và số khỏi chuỗi
Xóa tất cả các ký tự không phải chữ và số khỏi chuỗi ngoại trừ khoảng trắng
Chúng tôi sẽ sử dụng logic được giải thích trong ví dụ trên i. e. lặp qua tất cả các ký tự của chuỗi bằng vòng lặp for. Chỉ chọn các ký tự chữ và số và dấu cách. Ví dụ,
Cách kiểm tra xem chuỗi có chứa không
Chuỗi Python Phương thức isalnum[] . Ví dụ về các ký tự không phải là chữ và số. [không gian]. #%&?Làm thế nào để tước phi
sub[] để xóa tất cả các ký tự không phải chữ và số khỏi một chuỗi, e. g. new_str = lại. sub[r'[\W_]', '', my_str] . Ở đó. phương thức sub[] sẽ xóa tất cả các ký tự không phải chữ và số khỏi chuỗi bằng cách thay thế chúng bằng chuỗi rỗng.