假设我有一个文本文件,其中的数字由冒号和空格分隔,如下所示。你知道吗
0:-83 1: -51 2: -69 3: -82 4: -85 8: -90 9: -69 QUAD
0:-88 1: -88 2: -98 3: -75 4: -42 5: -71 6: -89 7: -28 8: -83 9: -78 STADIUM
一对是由冒号分隔的两个数字。空格任意中断数对。你知道吗
目前,我有以下几点。你知道吗
with open('data.txt') as file:
lines = file.read().splitlines()
for line in lines:
line = line[:-1]
# What is the regex I should be using?
# data = re.split(r'[:\s]',line) includes the space after the colon if it exists
解析文本文件的最佳方法是什么,以便每一行都存储为一个元组列表,其中每个元组都是一对?你知道吗
下面的正则表达式将为您分组提供成对的数字(包括减号):
它匹配一个单词边界(
\b
),然后是一组数字(前面有一个可选的-
减号),后面是一个由可选空格包围的冒号,后面是另一组带有可选减号的数字,后面是单词边界。你知道吗演示:
您可能不想同时访问内存中的所有行,只需逐行循环访问您的文件:
要使上述代码正常工作,不需要删除换行符,但如果需要,请使用
line.strip()
而不是line[:-1]
。你知道吗首先,编写
for line in file:
代码要简单得多 你可以用Martijn的正则表达式来计算数字。你知道吗嗯。。。正则表达式?为什么?你知道吗
这样怎么样:
……但最后一块场地(四区、体育场)呢?不过,你现在应该可以应付了。。。你知道吗
相关问题 更多 >
编程相关推荐