새소식

반응형
Programming Language/Python

[Python] 파이썬 split 함수

  • -
반응형

1. 파이썬 split 함수의 개념과 활용 목적


Python의 split() 함수는 문자열을 특정 구분자(separator)를 기준으로 나누는 데 사용된다. 기본적으로 split() 함수는 문자열을 공백(space)을 기준으로 나눈다. 하지만 구분자를 지정하여 문자열을 원하는 방식으로 분할할 수도 있다.

 

split() 함수를 사용해야 할 일반적인 상황과 목적은 아래와 같다.

 

1. 텍스트 데이터 파싱

텍스트 파일 또는 문자열에서 필요한 정보를 추출하려고 할 때 split() 함수는 구분자를 사용하여 텍스트 데이터를 파싱 하는 데 유용하다. 예를 들어, CSV 파일의 데이터를 분리하거나 로그 파일에서 필요한 정보를 추출하는 데 사용할 수 있다.

 

2. 입력 데이터 처리

사용자 입력을 처리하거나 외부 데이터를 가져올 때 split() 함수는 사용자가 입력한 데이터를 적절한 형식으로 분리하여 처리할 때 유용하다. 예를 들어, 사용자가 입력한 명령을 파싱 하거나 설정 파일에서 구성 값을 추출하는 데 사용할 수 있다.

 

3. 텍스트 조작

문자열에서 특정 부분을 추출하거나 특정 문자열을 대체하려고 할 때 split() 함수는 문자열을 나누고 조작하는 도구로 활용된다.

 

4. 데이터 전처리

데이터를 분석하거나 기계 학습 모델을 훈련시킬 때 데이터 전처리 단계에서 split() 함수를 사용하여 데이터를 특정 벡터로 변환할 수 있다. 예를 들어, 텍스트 데이터를 단어 또는 문장 단위로 분리하여 특징을 추출하는 데 사용된다.

 

5. 텍스트 검색 및 필터링

특정 문자열이나 패턴을 찾거나 특정 조건을 만족하는 문자열을 필터링할 때 split() 함수는 문자열을 분할하고 원하는 조건을 확인하는 데 사용된다.

 

6. 데이터베이스 작업

데이터베이스 쿼리 또는 데이터베이스 레코드를 처리할 때 split() 함수는 쿼리 문자열을 분석하거나 데이터를 추출하는 데 활용된다.

 

split() 함수는 문자열을 나눈 유용한 도구 중 하나이며, 다양한 상황에서 데이터를 분할하고 처리하는 데 활용된다. 이 함수를 잘 이해하고 활용하면 다양한 텍스트 처리 및 데이터 처리 작업을 보다 쉽게 수행할 수 있다.

 

 

2. 파이썬 split 함수 사용법


Python에서 split() 함수를 사용은 기본적으로 공백(space)을 기준으로 나눈다, 하지만 구분자를 지정하여 문자열을 원하는 방식으로 분할할 수도 있다, split() 함수의 다양한 방법을 살펴보자.

 

1. 문자열. split()

이 형식은 아무 구분자를 지정하지 않을 때 사용된다. 기본적으로 문자열을 공백(space)을 기준으로 나눈다.

text = "Hello World"
words = text.split()
print(words) # 출력 : ['Hello', 'World']

 

2. 문자열. split('구분자')

문자열을 지정한 구분자를 기준으로 나눈다.

csv_data = "apple,banana,grape"
fruits = csv_data.split(',')
print(fruits) # 출력 :  ['apple', 'banana', 'grape']
# fruits는 ['apple', 'banana', 'grape']를 포함하는 리스트가 됩니다.

 

3. 문자열. split('구분자', 분할 횟수)

문자열을 지정한 구분자를 기준으로 분할 횟수를 제한한다. 분할 횟수는 나눌 횟수를 나타내며 지정된 횟수만큼만 나눈다.

text = "one two three four five"
parts = text.split(' ', 2)
print(parts) # 출력 : ['one', 'two', 'three four five']
# parts는 ['one', 'two', 'three four five']를 포함하는 리스트가 됩니다.

 

4. 문자열. split(sep = '구분자',  maxsplit = 분할 횟수)

키워드 인수 sep와 maxsplit을 사용하여 문자열을 나눈다. sep는 구분자를 나타내고, maxsplit은 분할 횟수를 제한한다.

text = "one two three four five"
parts = text.split(sep=' ', maxsplit=2)
print(parts) # 출력 :  ['one', 'two', 'three four five']
# parts는 ['one', 'two', 'three four five']를 포함하는 리스트가 됩니다.

 

5. split()과 split(' ')의 차이점

• split() - 구분자를 지정하지 않음

구분자를 지정하지 않으며 기본적으로 문자열을 공백(space)을 기준으로 나눈다. 이것은 문자열 내의 연속된 공백 문자(스페이스, 탭, 줄 바꿈 등)를 기준으로 문자열을 분할한다. 여러 연속된 공백 문자가 있더라도 단일 공백으로 간주한다.

text = "Hello    World"
words = text.split()
print(words) # 출력 : ['Hello', 'World']
# words는 ['Hello', 'World']를 포함하는 리스트가 됩니다.

 

• split(' ') - 공백을 구분자로 사용

명시적으로 공백을 구분자로 지정한 것이다. 이 경우 연속된 공백 문자도 모두 구분자로 취급되어 문자열을 나눈다.

text = "Hello    World"
words = text.split(' ') # 출력 : ['Hello', '', '', '', 'World']
# words는 ['Hello', '', '', '', 'World']를 포함하는 리스트가 됩니다.

 

3. 결론


split()  함수는 문자열을 분할하여 리스트로 반환하며, 이를 통해 문자열을 조작하거나 원하는 부분을 추출할 수 있다. 이를 활용하여 데이터 파싱, 텍스트 처리, CSV 파일 처리 등 다양한 작업을 수행할 수 있다.

 

words = "This-is-Hungry-Developer"

# 문자열.split('-', 3)
print(words.split('-', 3)) # 출력 : ['This', 'is', 'Hungry', 'Developer']

# 문자열.split('-', maxsplit=3)
print(words.split('-', maxsplit = 3)) # 출력 : ['This', 'is', 'Hungry', 'Developer']

# 문자열.split(sep=' ', maxsplit=3)
print(words.split(sep = '-', maxsplit = 3)) # 출력 : ['This', 'is', 'Hungry', 'Developer']

• 문자열. split('-', 3)
 문자열. split('-', maxsplit=3)
 문자열. split(sep='-', maxsplit=3)

 

위의 3개 모두 같은 결과를 출력할 수 있으니 사용하시는 분에게 가장 편한 방법으로 사용하면 될 거 같다.

728x90
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.