我有原始的txt文件,需要使用regex来搜索每个用空格分隔的数字。
问题,数据格式如下:
6 3 1 0
7 3 1 0
8 35002 0
9 34104 0
我的正则表达式是:
(?P<COORD>d+)
前两行的匹配输出为(6,3,1,0(和(7,3,1,0。然而,它不适用于最后两行,它们的输出分别是(835002,0(和(934104,0(。正确的分组编号应该是(8,3,5002,0(和(9,3,4104,0(。我该如何解决这个问题?
如果数字对齐并且列的宽度固定,你可以使用
width = 4
for line in lines:
columns = [ line[j: j + width] for j in range(0, len(line), width)]
numbers = list(map(lambda x: int(x.strip()), columns))
# or a one liner
print(list(int(line[j:j+width].strip()) for j in range(0, len(line), width)))