파이썬에서 특정 문자를 찾고 그 문자가 속한 문장 추출하기

bag0753의 이미지

텍스트 파일에서 어떤 단어를 찾고 그 단어가 들어있는 문장을 어떻게 추출해야 할까요?

예를 들어 '하늘'이라는 단어를 찾고 하늘이 파랗다. 하늘에 비행기가 날아가고 있다. 하늘에 별이 가득하다. 라는 문장들을 각각 추출하고 싶습니다.

for, while, if를 사용해야 할 것 같은데 어떻게 해야 되는지 감도 안잡히네요. 점프 투 파이썬이라는 사이트를 보고 하나하나 따라하고 있는데 파일 실행 및 저장하기까지 진행했고 정규식이란 것은 사용할 수 없는 조건입니다.

cinsk의 이미지

'문장'의 정의부터 정해야 할 것 같네요.

  • 그리고 각 문장의 시작과 끝을 어떻게 판단할 것인지?
    • 단순히 마침표로 구분할 수도 있겠지만,
    • 따옴표가 있는 경우, 그 따옴표 안에 나온 마침표를 어떻게 해석할지?
    • 영어과 한글이 혼용이라면 영문법 소유격에 해당하는 따옴표, 's 를 어떻게 해석할지?
    • 약어가 나올 수 있고 그 약어의 일부분으로 "."이 쓰일 수 있는지?

등등을 먼저 고려해서, 문장 단위로 입력을 구분하면, 그 다음 해당 문자열이 있는지 여부는 쉬울 것 같네요.