2012-04-25 2 views
0

У меня длинный текстовый файл, где каждая строка выглядит примерно так: /MM0001 (Table(12,)) или /MM0015 (Table(11,)). Я хочу сохранить только четырехзначное число рядом с /MM. Если бы не часть «table (12)), я мог бы просто удалить все нечисловые символы, но я не знаю, как извлечь только четырехзначные числа. Любые советы по началу работы?Удаление выделенных символов из текстового файла

ответ

3

Если это именно то, что формат, можно просто распечатать line[3:7]

0

если каждая строка начинается с /MM, тогда просто просмотрите файл и распечатайте line[3:7] например.

for line in file: 
    print line[3:7] 
2

Вы можете анализировать текст за строкой, а затем использовать от 4-го по 7-й символ каждой строки. пер [3: 7]

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 и должны работать независимо от того, сколько строк целых чисел. Если они гарантированно будут иметь определенную длину, тогда вам будет лучше с одним из других примеров (которые не используют регулярное выражение).

Смежные вопросы