Hướng dẫn python remove non alphanumeric - python loại bỏ chữ và số
Trong hướng dẫn này, chúng tôi sẽ xem xét cách loại bỏ các ký tự không phải là số đồng âm khỏi một chuỗi trong Python với sự trợ giúp của một số ví dụ. Show
Các ký tự chữ và số là gì?Một ký tự là một ký tự chữ và số nếu nó có 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 False5 chỉ chứa các ký tự chữ và số trong khi chuỗi True True True False False6 chứa một ký tự không phải là số đồng âm ( True True True False False7). Bạn có thể sử dụng chức năng chuỗi True True True False False8 để kiểm tra xem ký tự có phải là ký tự chữ và số hay không. # check if character is alphanumeric print('a'.isalnum()) print('A'.isalnum()) print('7'.isalnum()) print('_'.isalnum()) print('#'.isalnum()) Output: True True True False False Việc loại bỏ các ký tự không chữ và số khỏi chuỗi thường được sử dụng làm bước tiền xử lý văn bản. Bây giờ, hãy nhìn vào cách loại bỏ các ký tự không phải là chữ và số khỏi chuỗi với sự trợ giúp của một số ví dụ. Có một số cách bạn có thể xóa các ký tự không phải là chữ và số khỏi một chuỗi trong Python. Sử dụng Chuỗi True True True False False8 và Chuỗi # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = ''.join(c for c in s if c.isalnum()) print(new_s)0 Chức năngBạn có thể sử dụng chức năng Chuỗi True True True False False8 cùng với chức năng chuỗi # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = ''.join(c for c in s if c.isalnum()) print(new_s)0 để tạo một chuỗi chỉ có các ký tự chữ và số. # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = ''.join(c for c in s if c.isalnum()) print(new_s) Output: Striker123 Bạn có thể thấy rằng chuỗi kết quả không có bất kỳ ký tự chữ và chữ số nào. Ở đây, chúng tôi lặp lại tất cả các ký tự trong chuỗi gốc và chỉ giữ nó nếu nó là một ký tự chữ và số mà chúng tôi kiểm tra bằng cách sử dụng hàm True True True False False8. Sau đó, chúng tôi sử dụng chức năng chuỗi # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = ''.join(c for c in s if c.isalnum()) print(new_s)0 để kết hợp từng ký tự. Sử dụng biểu thức chính quy để xóa các ký tự không chữ kýChúng ta cũng có thể sử dụng các biểu thức thông thường để 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 thông thường để khớp với tất cả các ký tự không phải là ký tự trong chuỗi và sau đó thay thế chúng bằng một chuỗi trống. Bạn có thể sử dụng thư viện # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = ''.join(c for c in s if c.isalnum()) print(new_s)5 trong Python để thực hiện khớp mẫu biểu thức chính quy. import re # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = re.sub(r'[^a-zA-Z0-9]', '', s) print(new_s) Output: 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 thường xuyên 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 các ký tự không phải là vô hiệu khỏi chuỗi python #Sử dụng phương thức
Ví dụ đầu tiên sử dụng phương thức # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = ''.join(c for c in s if c.isalnum()) print(new_s)6 để loại bỏ tất cả các ký tự không phải là một chuỗi. Phương thức Re.sub trả về một chuỗi mới thu được bằng cách thay thế các lần xuất hiện của mẫu bằng thay thế được cung cấp.
Nếu mẫu không được tìm thấy, chuỗi được trả về như vậy. Đối số đầu tiên chúng tôi đã chuyển sang phương pháp # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = ''.join(c for c in s if c.isalnum()) print(new_s)6 là một biểu thức chính quy. Các dấu ngoặc vuông Striker1231 được sử dụng để chỉ ra một tập hợp các ký tự. Nhân vật đặc biệt Striker1232 (Capital Striker1233) phù hợp với bất kỳ ký tự nào không phải là ký tự từ. Chúng tôi loại bỏ tất cả các ký tự không phải là đa số bằng cách thay thế mỗi ký tự bằng một chuỗi trống. Nếu bạn muốn bảo quản khoảng trắng và loại bỏ tất cả các ký tự không phải là ký tự vô sinh, hãy sử dụng biểu thức chính quy sau.
CARET Ký tự Striker1235 trái ngược với ký tự Striker1232 và phù hợp:
Nhân vật Striker1237 phù hợp với các ký tự khoảng trắng unicode như Striker1238. Nếu bạn cần trợ giúp đọc hoặc viết một biểu thức chính quy, hãy tham khảo ý kiến phân nhóm cú pháp biểu thức thông thường trong các tài liệu chính thức. Trang chứa một danh sách tất cả các ký tự đặc biệt với nhiều ví dụ hữu ích. Nếu chuỗi của bạn có nhiều khoảng trống cạnh nhau, bạn có thể phải thay thế nhiều không gian liên tiếp bằng một không gian.
Phương thức Ngoài ra, bạn có thể sử dụng một biểu thức máy phát. Để xóa tất cả các ký tự chữ và số khỏi chuỗi:
True True True False False0 Chúng tôi đã sử dụng một biểu thức máy phát để lặp qua chuỗi. Biểu thức của máy phát được sử dụng để thực hiện một số hoạt động cho mọi phần tử hoặc chọn một tập hợp con của các phần tử đáp ứng một điều kiện. Trên mỗi lần lặp, chúng tôi sử dụng phương thức import re # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = re.sub(r'[^a-zA-Z0-9]', '', s) print(new_s)0 để kiểm tra xem ký tự hiện tại có phải là chữ và số và chúng tôi trả về kết quả không. Phương thức str.Alnum trả về import re # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = re.sub(r'[^a-zA-Z0-9]', '', s) print(new_s)3 Nếu tất cả các ký tự trong chuỗi là chữ và số và chuỗi chứa ít nhất một ký tự, nếu không phương thức trả về import re # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = re.sub(r'[^a-zA-Z0-9]', '', s) print(new_s)4. True True True False False1 Đối tượng Trình tạo chỉ chứa các ký tự chữ và số. Bước cuối cùng là sử dụng phương thức import re # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = re.sub(r'[^a-zA-Z0-9]', '', s) print(new_s)1 để tham gia các ký tự chữ và số vào một chuỗi. True True True False False2 Phương thức str.join lấy một điều đáng tin cậy như một đối số và trả về một chuỗi là sự kết hợp của các chuỗi trong điều kiện có thể sử dụng được. Chuỗi phương thức được gọi là bật được sử dụng làm phân tách giữa các phần tử. Đối với mục đích của chúng tôi, chúng tôi gọi phương thức Nếu bạn muốn loại bỏ các ký tự không phải là vô hiệu và bảo quản khoảng trắng, hãy sử dụng toán tử boolean import re # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = re.sub(r'[^a-zA-Z0-9]', '', s) print(new_s)7. True True True False False3 Chúng tôi đã sử dụng toán tử boolean import re # string with non alphanumeric characters s = "[email protected]#$_123" # remove non alphanuemeric characters new_s = re.sub(r'[^a-zA-Z0-9]', '', s) print(new_s)7, vì vậy để ký tự được thêm vào đối tượng máy phát, một trong các điều kiện phải được đáp ứng. Nhân vật phải là chữ và số hoặc nó phải là một không gian. Nếu chuỗi của bạn chứa nhiều khoảng trống bên cạnh nhau, bạn có thể phải thay thế một hoặc nhiều khoảng trống bằng một khoảng trống. True True True False False4 |