상세 컨텐츠

본문 제목

텍스트에서 특정 단어가 사용된 문장 추출하기

알면 유익한

by haijun93 2014. 5. 31. 15:25

본문

[파이썬 프로그래밍]

 

텍스트에서 특정 단어가 사용된 문장 추출하기

 

 

영문소설에서 특정단어가 사용된 문장을 모두 뽑아내고 싶다면?

갑자기 단어 get이 사용된 모든 문장을 추출해 내고 싶어져, 아래와 같이 파이썬을 이용하여 간단히 프로그램을 작성하였습니다. 


아래의 파이썬(python) 소스코드는 

텍스트파일에서 특정단어(영어단어 love)가 포함된 모든 문장을 화면에 뿌려줍니다. 

 

 1  기본 예제

import string

f = open("c:\\target.txt","r")

lines = []

for paragraph in f:
	lines = string.split(paragraph, ".")
    for each_line in lines:
    	if each_line.find("love") > 0:
        	print each_line
        else:
        	pass
f.close()

 

 2  설명

 

import string

문자열을 다루는 string 라이브러리를 불러옵니다. 

f = open("c:\\target.txt","r")

 텍스트 파일(target.txt)를 읽기 모드("r")로 열어(open), 파일에 담긴 전체 텍스트를 변수 f에 저장합니다. 

lines = []

리스트 타입의 변수 lines를 만듭니다. 

for paragraph in f:
	lines = string.split(paragraph, ".")
    for each_line in lines:
    	if each_line.find("love") > 0:
        	print each_line
        else:
        	pass

 f 에서 한 문단(paragraph)씩을 꺼낸 후,  "."을 기준으로 문단(paragraph)을 문장(sentence)들로 쪼갭니다. 

문장(sentence)로 쪼개진 문장들은 리스트 타입의 lines에 입력되어 있습니다. 

 

이제 lines에서 한 문장씩을 꺼내어(for each_line in lines:)

 "love "이 들어있는지를 find함수를 이용해 검사합니다. (if each_line.find("love") > 0:)

 

string 라이브러리의 find( )함수는 찾는 단어("love")가 발견되면, 위치값을 리턴합니다.

발견하지 못하면 음수값(0보다 작은 값)을 리턴합니다.  

 

 3  실행 결과 

 

파이썬(python)을 이용한 위의 코드

영어공부를 하다가, 영문소설에서  "get"이란 단어가 얼마나 많이 사용되었는지 궁금하여

만들어본 것입니다. 

 

실행결과는 아래와 같습니다. 

 

 

관련글 더보기

댓글 영역