使用整数作为分隔符分割字符串
问题描述:
我有一个相当长的txt文件,其格式为{letter}{number}{letter}
。例如,我的文件的前几行:使用整数作为分隔符分割字符串
A123E
G234W
R3L
H4562T
我有困难找到正确的regex
模式由字母和数字在每一行分开。
例如,在第一线,我想一个数组的结果:
print first_line[0] // A
print first_line[1] // 123
ptin first_line[2] // E
好像regex
将要走的路,但我仍然是一个新手regex
。有人可以帮助我指出如何做到这一点的正确方向吗?
然后我打算迭代每一行并根据需要使用信息。在\d+
答
斯普利特:
import re
re.split(r'(\d+)', line)
\d
是字符类通过对9匹配数字0,我们要符合其中至少1。通过将捕获组围绕\d+
,re.split()
will include the match in the output:
如果捕获括号在模式使用,然后在图案中的所有组的文本也返回结果列表的一部分。
演示:
>>> import re
>>> re.split(r'(\d+)', 'A123E')
['A', '123', 'E']
你可能想阐述*为什么当'\ d +'不*'(\ d +)'的作品。 – mgilson 2013-02-08 15:42:50
@mgilson:poko poko .. :-)与流行的观点相反,我的答案并不是从我的键盘完全形成的,只有一分之一秒! – 2013-02-08 15:43:35
http://docs.python.org/2/library/re.html#re.split“如果在模式中使用捕获括号,则模式中所有组的文本也会作为结果列表的一部分返回。 “ – 2013-02-08 15:43:57