re.split() 메서드란?
Python의 re 모듈에서 제공하는 re.split(pattern, string, [maxsplit=0]) 메서드는 지정한 정규식 패턴이 나타나는 위치를 기준으로 문자열을 분할합니다. 일반 문자열의 split()과 달리 정규식 패턴 자체를 구분자로 사용할 수 있어 훨씬 유연한 문자열 처리가 가능하다는 것이 큰 장점입니다.
기본 사용 예제
import re
result = re.split(r'a', 'Dynamics')
print(result)
출력 결과
['Dyn', 'mics']
위 예제에서는 문자열 "Dynamics"를 구분자 'a'를 기준으로 분할했습니다. 패턴이 발견되는 모든 위치에서 문자열이 잘려 리스트 형태로 반환됩니다.
maxsplit 옵션 활용하기
re.split()은 선택적 인자인 maxsplit을 지원합니다. 기본값은 0이며, 이 경우 패턴이 등장하는 모든 위치에서 최대한 분할이 수행됩니다. 반면 maxsplit에 특정 값을 지정하면 해당 횟수만큼만 분할하고 나머지 부분은 하나의 요소로 그대로 남게 됩니다.
maxsplit 없이 전체 분할하기
import re
result = re.split(r'a', 'Dynamics Kinematics')
print(result)
출력 결과
['Dyn', 'mics Kinem', 'tics']
'a'가 등장하는 모든 위치에서 분할이 이루어져 세 개의 요소가 반환되었습니다.
maxsplit=1로 분할 횟수 제한하기
import re
result = re.split(r'i', 'Dynamics Kinematics', maxsplit=1)
print(result)
출력 결과
['Dyn', 'mics Kinematics']
maxsplit을 1로 설정하면 첫 번째 'i'에서만 분할이 수행되어 두 개의 요소만 반환됩니다. 앞선 예제가 세 개의 값을 가진 것과 비교하면, maxsplit 옵션을 통해 분할 횟수를 원하는 대로 제어할 수 있음을 확인할 수 있습니다.