Hướng dẫn how do you split alphanumeric in python? - làm thế nào để bạn tách chữ và số trong python?

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 ['

Bài Viết Liên Quan

Chủ Đề