按数字字母分割

BER*_*ERA 2 python regex string python-3.x python-re

我想将 'E100N05' 拆分为 ['E100', 'N05'] ,因此在数字变成字母 N、E、S 或 W 后进行拆分。字母后面的位数可以不同。

import re
re.split('[NSEW$*]', 'E100N05')
Out[8]: ['', '100', '05']

What I want : ['E100','N05']
Run Code Online (Sandbox Code Playgroud)

我应该使用哪种模式?

Grz*_*ski 5

我们重新表述这个问题怎么样,所以我们不“分割”,而是找到所有字母+数字标记,所以:

import re

res = re.findall('[a-z]+\d+', 'E100N05', re.I)

print(res)
Run Code Online (Sandbox Code Playgroud)

输出:

['E100', 'N05']
Run Code Online (Sandbox Code Playgroud)