Tôi đang cố gắng tìm ra một chức năng đơn giản để nắm bắt lỗi chính tả, ví dụ:
"Westminister15"
"Westminister15London"
"23Westminister15London"
Sau khi sửa chữa:
["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
Nỗ lực đầu tiên:
def fixate[query]:
digit_pattern = re.compile[r'\D']
alpha_pattern = re.compile[r'\d']
digits = filter[None, digit_pattern.split[query]]
alphas = filter[None, alpha_pattern.split[query]]
print digits
print alphas
result:
fixate["Westminister15London"]
> ['15']
> ['Westminister', 'London']
Tuy nhiên, tôi nghĩ rằng điều này có thể được thực hiện hiệu quả hơn và tôi vẫn nhận được kết quả xấu khi tôi thử một cái gì đó như:
fixate["Westminister15London England"]
> ['15']
> ['Westminister', 'London England']
Rõ ràng là nó nên tranh thủ riêng
Câu hỏi này có phần tương đương với câu hỏi PHP này
Để phân chia chuỗi trên các ký tự không phải là đồngumeric, bạn có thể sử dụng ký tự đặc biệt
["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
0, tương đương với ["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
1.& nbsp; & nbsp; & nbsp; & nbsp; res = re.split ['\ w+', s] ký tự chữ và số, không bao gồm _
& nbsp; Để phân chia trên gạch dưới, bạn có thể sử dụng mã sau:
& nbsp; & nbsp; & nbsp; & nbsp; res = re.split ['
& nbsp; & nbsp; & nbsp; & nbsp; print [res] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
Ngăn chặnre if__name__=='__main__':__name__=='__main__': s='Hello,World's='Hello,World' & nbsp; & nbsp; & nbsp; & nbsp; res = re.split ['[:/.]+', s] Giai đoạnres= re.split[',',s] # split with comma & nbsp; & nbsp; & nbsp; & nbsp; print [res] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print[res] # ['Hello', 'World'] |
Tải xuống & nbsp; & nbsp; mã
⮚ Chia trên nhiều dấu phân cách
Để phân chia với nhiều dấu phân cách, bạn có thể thích:
Ngăn chặnre if__name__=='__main__':__name__=='__main__': s='//www.techiedelight.com's='//www.techiedelight.com' & nbsp; & nbsp; & nbsp; & nbsp; res = re.split ['[:/.]+', s] Giai đoạnres= re.split['[:/ .]+',s] # split with colon, slash, space and period & nbsp; & nbsp; & nbsp; & nbsp; print [res] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print[res] # ['https', 'www', 'techiedelight', 'com'] |
Tải xuống & nbsp; & nbsp; mã
⮚ Chia trên các ký tự không phải là vô hiệu
Để phân chia chuỗi trên các ký tự không phải là đồngumeric, bạn có thể sử dụng ký tự đặc biệt
["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
0, tương đương với ["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
1.
Ngăn chặnre if__name__=='__main__':__name__=='__main__': s='//www.techiedelight.com's='//www.techiedelight.com' & nbsp; & nbsp; & nbsp; & nbsp; res = re.split ['\ w+', s] ký tự chữ và số, không bao gồm _res= re.split['\W+',s] # split on non-alphanumeric characters, excluding _ & nbsp; & nbsp; & nbsp; & nbsp; print [res] & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;print[res] # ['https', 'www', 'techiedelight', 'com'] |
Tải xuống & nbsp; & nbsp; mã
⮚ Chia trên các ký tự không phải là vô hiệu
To split on underscore as well, you can use the following code:
Ngăn chặnre if__name__=='__main__':__name__=='__main__': s='//www.techiedelight.com's='//www.techiedelight.com' & nbsp; & nbsp; & nbsp; & nbsp; res = re.split ['\ w+', s] ký tự chữ và số, không bao gồm _res= re.split['[^a-zA-Z0-9]+',s] # split on non-alphanumeric characters & nbsp; Để phân chia trên gạch dưới, bạn có thể sử dụng mã sau:print[res] # ['https', 'www', 'techiedelight', 'com'] |
Tải xuống & nbsp; & nbsp; mã
⮚ Chia trên các ký tự không phải là vô hiệu
Để phân chia chuỗi trên các ký tự không phải là đồngumeric, bạn có thể sử dụng ký tự đặc biệt
["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
0, tương đương với ["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
1.
Ngăn chặnre if__name__=='__main__':__name__=='__main__': s='//www.techiedelight.com's='//www.techiedelight.com' & nbsp; & nbsp; & nbsp; & nbsp; res = re.split ['\ w+', s] ký tự chữ và số, không bao gồm _res= re.findall['\w+',s] & nbsp; Để phân chia trên gạch dưới, bạn có thể sử dụng mã sau:print[res] # ['https', 'www', 'techiedelight', 'com'] |
Tải xuống & nbsp; & nbsp; mã
⮚ Chia trên các ký tự không phải là vô hiệu
The special character
["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
4 is the opposite of ["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
0, i.e., it is equivalent to ["Westminister", "15"]
["Westminister", "15", "London"]
["23", "Westminister", "15", "London"]
7. To split on underscore as well, you can use the following code:
Ngăn chặnre if__name__=='__main__':__name__=='__main__': s='//www.techiedelight.com's='//www.techiedelight.com' res=re.findall['[a-zA-Z0-9]+',s]res= re.findall['[a-zA-Z0-9]+',s] & nbsp; Để phân chia trên gạch dưới, bạn có thể sử dụng mã sau:print[res] # ['https', 'www', 'techiedelight', 'com'] |
Tải xuống & nbsp; & nbsp; mã
& nbsp; & nbsp; & nbsp; & nbsp; res = re.split ['