Bài đăng này sẽ thảo luận về cách loại bỏ các ký tự không phải là số đồngumeric khỏi một chuỗi trong Python.
1. Sử dụng các biểu thức thông thường
Một giải pháp đơn giản là sử dụng các biểu thức thông thường để loại bỏ các ký tự không phải là số lượng vô số khỏi một chuỗi. Ý tưởng là sử dụng ký tự đặc biệt \W, phù hợp với bất kỳ ký tự nào không phải là ký tự từ.
Ngăn chặnre if__name__=='__main__':__name__=='__main__': & nbsp; & nbsp; & nbsp; & nbsp; input = "Chào mừng, user_12 !!"input="Welcome, User_12!!" & nbsp; & nbsp; & nbsp; & nbsp; s = re.sub (r '\ w+', '', input)s= re.sub(r'\W+','',input) & nbsp; & nbsp; & nbsp; & nbsp;print(s) # WelcomeUser_12 |
Tải xuống & nbsp; & nbsp; mã
& nbsp; \W tương đương với [^a-zA-Z0-9_], loại trừ tất cả các số và chữ cái cùng với dấu gạch dưới. Nếu bạn cũng cần loại bỏ dấu gạch dưới, bạn có thể thích:
The \W is equivalent of [^a-zA-Z0-9_], which excludes all numbers and letters along with underscores. If you need to remove underscores as well, you can do like:
Ngăn chặnre if__name__=='__main__':__name__=='__main__': & nbsp; & nbsp; & nbsp; & nbsp; input = "Chào mừng, user_12 !!"input="Welcome, User_12!!" s=re.sub(r'[^a-zA-Z0-9]','',input)s= re.sub(r'[^a-zA-Z0-9]','', input) & nbsp; & nbsp; & nbsp; & nbsp; s = re.sub (r '\ w+', '', input)print(s) # WelcomeUser12 |
Tải xuống & nbsp; & nbsp; mã
& nbsp; \W tương đương với [^a-zA-Z0-9_], loại trừ tất cả các số và chữ cái cùng với dấu gạch dưới. Nếu bạn cũng cần loại bỏ dấu gạch dưới, bạn có thể thích:
If the expression is used several times in a single program, you should compile and save the resulting regular expression object for reuse.
Ngăn chặnre if__name__=='__main__':__name__=='__main__': & nbsp; & nbsp; & nbsp; & nbsp; input = "Chào mừng, user_12 !!"input="Welcome, User_12!!" & nbsp; & nbsp; & nbsp; & nbsp; s = re.sub (r '\ w+', '', input)pattern=re.compile('\W') s=re.sub(pattern,'',input)s= re.sub(pattern,'',input) & nbsp; & nbsp; & nbsp; & nbsp;print(s) # WelcomeUser_12 |
Tải xuống & nbsp; & nbsp; mã
& nbsp; \W tương đương với [^a-zA-Z0-9_], loại trừ tất cả các số và chữ cái cùng với dấu gạch dưới. Nếu bạn cũng cần loại bỏ dấu gạch dưới, bạn có thể thích:
& nbsp; & nbsp; & nbsp; & nbsp;
if__name__=='__main__':__name__=='__main__': & nbsp; & nbsp; & nbsp; & nbsp; input = "Chào mừng, user_12 !!"input ="Welcome, User_12!!" s=''.join(filter(str.isalnum,input))s= ''.join(filter(str.isalnum, input)) & nbsp; & nbsp; & nbsp; & nbsp; s = re.sub (r '\ w+', '', input)print(s) # WelcomeUser12 |
Tải xuống & nbsp; & nbsp; mã
& nbsp; \W tương đương với [^a-zA-Z0-9_], loại trừ tất cả các số và chữ cái cùng với dấu gạch dưới. Nếu bạn cũng cần loại bỏ dấu gạch dưới, bạn có thể thích:
This is equivalent to:
if__name__=='__main__':__name__=='__main__': & nbsp; & nbsp; & nbsp; & nbsp; input = "Chào mừng, user_12 !!"input ="Welcome, User_12!!" s=''.join(cforcininputifc.isalnum())s= ''.join(cforcin inputifc.isalnum()) & nbsp; & nbsp; & nbsp; & nbsp; s = re.sub (r '\ w+', '', input)print(s) # WelcomeUser12 |
Tải xuống & nbsp; & nbsp; mã
& nbsp; \W tương đương với [^a-zA-Z0-9_], loại trừ tất cả các số và chữ cái cùng với dấu gạch dưới. Nếu bạn cũng cần loại bỏ dấu gạch dưới, bạn có thể thích:
& nbsp; & nbsp; & nbsp; & nbsp;
Also See:
& nbsp; Nếu biểu thức được sử dụng nhiều lần trong một chương trình, bạn nên biên dịch và lưu đối tượng biểu thức chính quy kết quả để sử dụng lại.
& nbsp; & nbsp; & nbsp; & nbsp; clates = re.compile ('\ w'))