2012-12-09 4 views
1

하나의 큰 텍스트 파일에 +25,000 개의 보고서가있는 일부 조사를하고 있습니다. 각 보고서는 "TEXTSTART [UNIQUE-ID]"및 "TEXTEND"로 나뉩니다.Python 문자열에서 하위 문자열 읽기

지금까지 내가 succeded 한 하나의 보고서를 읽고에서이 코드를 사용하여 TXT 파일에서 (즉, indentifiers 사이의 텍스트입니다) :

f = open("samples_combined_incomplete.txt","r") 
report = f.read() 
f.close() 

rstart = "TEXTSTART" 
rend = "TEXTEND" 

a = ((report.split(rstart))[1].split(rend)[0]) 
print (a) 

내 질문은 이것이다; TEXTSTART [UNIQUE-ID]를 기반으로 텍스트 문서를 고유하게 식별 할 수있는 하위 문자열로 나누려면 어떻게해야합니까? ID는 어떻게 반환해야합니까?

나는 이제 막 시작 했으므로 문서화, 유용한 기능 등에 관한 조언은 많은 도움이 될 것입니다.


감사합니다. ID는 숫자와 문자 FYI의 조합입니다.

컨테이너 내에서 특정 키워드를 검색하여 키를 반환하려면 어떻게해야합니까?

+1

정규식을 고려해 보셨습니까? (http://docs.python.org/2/library/re.html)도 새 행의 이러한 부분 문자열입니까? –

답변

5
import re 
print dict(re.findall('TEXTSTART\[([^\]]+)\](.*?)TEXTEND', report, re.DOTALL)) 
+1

텍스트가 여러 줄에 걸쳐 있으면're.DOTALL'이 옵션으로 지정되어야한다고 생각합니다. – Blckknght

+0

잘 잡으세요! 편집 됨. – bluepnume

+0

감사! 완벽하게 작동합니다. – user1889656

관련 문제