2013-06-25 5 views
1

Я ищу немного помощи для проблемы, что, я уверен, имеет простую душу, в настоящее время у меня есть следующие данные, хранящиеся в переменной: «listing_read», открыв файл и чтение.Подсчет вхождений при игнорировании некоторых вхождений в python

Test NA 
Name: Jimmy 
More Data: blabla 
More Data: blabla 
More Data: blabla 
More Data: blabla 
More Data: blabla 
More Data: blabla 

Test BTS NA 
Name: Jimmy 
More Data: blabla 
More Data: blabla 
More Data: blabla 
More Data: blabla 
More Data: blabla 
More Data: blabla 

Test NA 
Name: Jimmy 
More Data: blabla 
More Data: blabla 
More Data: blabla 
More Data: blabla 
More Data: blabla 
More Data: blabla 

Я также получил переменный «name_owner» определенно где-то в моем сценарии, я хочу сделать подсчет в данных выше для пользователя «Jimmy», но игнорирование любого, что есть заголовок, содержащий " БТС»

я использовал n_counter = listing_read.count(name_owner), но это не остановит меня от couting те, с названием БТС

+0

Разбираем файл в структуру данных, а затем работать с этим. – Blender

ответ

1
>>> import re 
>>> name_owner = 'Jimmy' 
>>> r = re.compile(r'[A-Za-z\s]+\nName: {}'.format(name_owner)) 
>>> len([m for m in r.finditer(listing_read) if 'BTS' not in m.group(0)]) 
2 
+0

Есть ли шанс объяснить, как работает этот ответ? (все еще учусь) – AEA