从文本文件中删除所选字符

时间:2012-04-25 20:05:11

标签: python

我有一个文本文件,其中每一行看起来像/MM0001 (Table(12,))/MM0015 (Table(11,))。我想只保留/MM旁边的四位数字。如果它不是“table(12,)”部分,我可以删除所有非数字字符,但我不知道如何仅提取四位数字。关于入门的任何建议?

4 个答案:

答案 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]