我有一个文本文件,其中每一行看起来像/MM0001 (Table(12,))
或/MM0015 (Table(11,))
。我想只保留/MM
旁边的四位数字。如果它不是“table(12,)”部分,我可以删除所有非数字字符,但我不知道如何仅提取四位数字。关于入门的任何建议?
答案 0 :(得分:3)
如果它正是这种格式,您可以打印出line[3:7]
答案 1 :(得分:2)
您可以逐行解析文本,然后使用每行的第4到第7个字符。 LN [3:7]
答案 2 :(得分:2)
import re
R=re.compile(r'/MM(\d+)')
for line in file:
L=R.match(line)
if L:
print L.group(1)
或者,更简洁......
lines=[R.match(line).group(1) for line in file] #works if the lines are guaranteed to start with \MM
这应该只给你/MM
之后的整数,无论整数串是多长,都应该有效。如果它们保证一定长度,那么你最好使用其他一个例子(不使用正则表达式)。
答案 3 :(得分:0)
如果每一行以/MM
开头,则只需浏览该文件并打印出line[3:7]
,例如
for line in file:
print line[3:7]