문자열을 나눌 때 split() 함수를 주로 사용한다. 이 함수는 다양한 방법으로 문자열을 구분하는 데 유용한 도구이다.
1. split() 함수 사용하기
1) 기본 사용법
split()함수에 인자를 지정하지 않고 사용하면, 문자열의 공백을 기준으로 나뉜다.
string = 'I am a student'
print(string.split())
>>> ['I', 'am', 'a', 'student']
2) 구분자 지정하기
특정 구분자를 사용하여 문자열을 나누고 싶다면, 구분자를 인자로 전달하면 된다. 예를 들어, 쉼표(,)로 구분된 문자열을 나누고 싶다면 다음과 같이 사용할 수 있다.
string = 'apple,banana,cherry'
print(string.split(','))
>>> ['apple', 'banana', 'cherry']
2. 여러 개의 구분자로 문자열 나누기
1) split 여러 번 사용
split() 함수를 여러 번 호출하여 분리할 수 있다.
예를 들어, 먼저 쉼표로 나누고 그 다음에 공백으로 나누는 방법은 다음과 같다.
string = 'apple, banana orange, grape'
result = [item for sublist in string.split(',') for item in sublist.split()]
print(result)
>>> ['apple', 'banana', 'orange', 'grape']
2) 다른 문자로 대체 후 split 적용
구분자를 모두 특정 문자로 대체(replace)하고, 그 특정 문자를 기준으로 분리할 수 있다.
아래는 모음을 기준으로 단어를 나누는 예시이다. re 패키지를 활용하여 다른 문자('?')로 대체했고, '?'을 구분자로 문자열을 나눈다.
import re
string = 'extraordinary'
# 모음을 '?'로 대체
string_replaced = re.sub(r'[aeiou]', '?', string)
# '?'를 기준으로 split
result = string_replaced.split('?')
print(result)
>>> ['xtr', 'rd', 'n', 'ry']
3) 정규표현식 사용
정규표현식을 이용하면 여러 구분자를 동시에 처리할 수 있다. re 패키지의 'split' 함수를 사용하는 예시는 아래와 같다.
import re
string = 'apple, banana; orange grape'
# 공백, 쉼표, 세미콜론을 구분자로 설정
result = re.split(r'[;,\s]+', string)
print(result)
>>> ['apple', 'banana', 'orange', 'grape']
+는 정규 표현식에서 "1회 이상 반복"을 의미한다. 즉, [;,\s]+는 세미콜론, 쉼표, 또는 공백 문자 중 하나가 1회 이상 연속해서 나타날 경우를 매칭한다.
string = 'apple, banana; orange grape'
result = re.split(r'[;,\s]+', string)
print(result)
>>> ['apple', 'banana', 'orange', 'grape']
** 정규표현식에서 \s 는 공백을 의미한다.
'파이썬' 카테고리의 다른 글
| [matplotlib] 한글 폰트 깨짐 문제 해결 - 설치한 폰트 불러오기 / 여러 종류의 글꼴 적용하기 (2) | 2025.04.08 |
|---|---|
| [파이썬][pandas/datetime] 날짜형 변환 (데이터프레임) (2) | 2024.10.11 |
| [python] If문 간결하게 작성하는 방법 : 코드 가독성 높이기 (0) | 2024.09.12 |
| [파이썬/python] strip 함수 - 공백 제거, 특정 문자 제거 (0) | 2024.09.05 |
| [python][데이터처리] 공백으로 채워진 값을 null로 바꾸기 (2) | 2024.07.21 |