문자열을 마침표(.)와 줄바꿈(
)을 기준으로 나눠야 할 때, 파이썬의 re 모듈과 정규 표현식을 활용하면 간단하게 처리할 수 있습니다.
정규 표현식 패턴 설명
핵심 패턴은 r'[^\s\.][^\.\n]+'입니다.
- [^\s\.] : 공백 문자와 마침표를 제외한 첫 번째 문자를 매칭합니다.
- [^\.\n]+ : 마침표나 줄바꿈 문자가 나올 때까지의 나머지 문자들을 하나 이상 연속해서 매칭합니다.
이렇게 하면 문장 단위로 깔끔하게 분리된 결과를 얻을 수 있습니다.
예제 코드
import re s = """Hi. It's nice meeting you. My name is Jason.""" result = re.findall(r'[^\s\.][^\.\n]+', s) print(result)
실행 결과
위 코드를 실행하면 다음과 같은 출력을 확인할 수 있습니다.
['Hi', "It's nice meeting you", 'My name is Jason']
참고: split() 메서드를 사용하는 방법
re.findall() 대신 re.split()을 사용해도 같은 목적을 달성할 수 있습니다.
import re s = """Hi. It's nice meeting you. My name is Jason.""" result = [x.strip() for x in re.split(r'[\.\n]', s) if x.strip()] print(result)
이 방식은 구분자(마침표, 줄바꿈)를 기준으로 문자열을 자른 뒤, 빈 문자열과 앞뒤 공백을 제거하여 동일한 결과를 만듭니다.
마무리
정규 표현식을 사용하면 마침표와 줄바꿈 같은 여러 구분자를 한 번에 처리할 수 있어, 텍스트 전처리나 문장 분리 작업에서 매우 유용합니다. 상황에 따라 findall()과 split() 중 편리한 방법을 선택하면 됩니다.