按数字字母拆分
Split at number-letter
我想将 'E100N05' 拆分为 ['E100', 'N05']
, 所以在数字后面拆分成字母 N, E, S 或 W. 字母后面的位数可以不同.
import re
re.split('[NSEW$*]', 'E100N05')
Out[8]: ['', '100', '05']
What I want : ['E100','N05']
我应该使用哪种模式?
试试这个:
>>> re.split('(?!^)(?=[NSEW$])', 'E100N05')
['E100', 'N05']
>>>
您可以像下面这样使用 re.findall()
:
import re
re.findall('[NSEW$*]\d+', 'E100N05')
# ['E100', 'N05']
我们如何重新表述问题,而不是“拆分”我们只找到所有字母+数字标记,所以:
import re
res = re.findall('[a-z]+\d+', 'E100N05', re.I)
print(res)
输出:
['E100', 'N05']
我想将 'E100N05' 拆分为 ['E100', 'N05'] , 所以在数字后面拆分成字母 N, E, S 或 W. 字母后面的位数可以不同.
import re
re.split('[NSEW$*]', 'E100N05')
Out[8]: ['', '100', '05']
What I want : ['E100','N05']
我应该使用哪种模式?
试试这个:
>>> re.split('(?!^)(?=[NSEW$])', 'E100N05')
['E100', 'N05']
>>>
您可以像下面这样使用 re.findall()
:
import re
re.findall('[NSEW$*]\d+', 'E100N05')
# ['E100', 'N05']
我们如何重新表述问题,而不是“拆分”我们只找到所有字母+数字标记,所以:
import re
res = re.findall('[a-z]+\d+', 'E100N05', re.I)
print(res)
输出:
['E100', 'N05']