split() 메서드로 문자열 분할하기
Python의 문자열(String) 클래스에는 split()이라는 메서드가 내장되어 있습니다. 이 메서드는 선택적 인자로 구분자(delimiter)를 받으며, 구분자를 지정하지 않으면 공백(whitespace)이 기본값으로 사용됩니다.
다음은 split() 메서드를 활용한 기본적인 예시입니다.
>>> 'aa-ab-ca'.split('-')
['aa', 'ab', 'ca']
>>> 'abc mno rst'.split(' ')
['abc', 'mno', 'rst']위 예시에서 볼 수 있듯이, 하이픈(-)이나 공백 같은 특정 구분자를 인자로 전달하면 해당 문자를 기준으로 문자열이 잘리고, 그 결과가 리스트(list) 형태로 반환됩니다.
추가 팁: maxsplit 옵션
split() 메서드는 두 번째 인자로 최대 분할 횟수(maxsplit)를 지정할 수도 있습니다. 예를 들어 'aa-ab-ca'.split('-', 1)을 실행하면 첫 번째 하이픈만 기준으로 분할되어 ['aa', 'ab-ca']가 반환됩니다.
정규식(re.split)으로 문자열 분할하기
보다 유연한 분할이 필요하다면 정규식 모듈인 re의 re.split() 메서드를 사용할 수 있습니다. 이 메서드는 구분자 역할을 하는 정규식 패턴과 대상 문자열을 인자로 받아, 분할된 결과를 리스트로 반환합니다.
>>> import re
>>> re.split('-', 'aa-ab-ca')
['aa', 'ab', 'ca']
>>> re.split(' ', 'abc mno rst')
['abc', 'mno', 'rst']정규식을 활용하면 단순한 단일 문자뿐 아니라 여러 개의 구분자나 복잡한 패턴까지 한 번에 처리할 수 있다는 장점이 있습니다. 예를 들어 re.split('[,-]', 'aa-ab,ca')처럼 작성하면 하이픈과 쉼표를 동시에 구분자로 사용할 수 있습니다.
정리
- 간단한 구분자 분할에는 문자열의 split() 메서드를 사용하세요.
- 복잡한 패턴이나 여러 구분자를 처리해야 한다면 re.split() 정규식 방식이 적합합니다.
- 두 방법 모두 결과를 리스트로 반환하므로 이후 데이터 가공에 바로 활용할 수 있습니다.