[python] 정규표현식을 이용한 문자열 분할

정규표현식은 문자열을 검색하고 분할하는 강력한 도구입니다. Python의 re 모듈을 사용하여 문자열을 분할하는 방법에 대해 알아보겠습니다.

문자열 분할하기

정규표현식을 사용하여 문자열을 분할하려면 re.split() 함수를 사용합니다. 이 함수는 정규표형식을 기준으로 문자열을 분할하고 리스트로 반환합니다.

아래는 간단한 예제입니다.

import re

# 정규표현식 패턴을 정의합니다.
pattern = r'\s+'  # 공백 문자를 기준으로 분할

# 문자열을 분할합니다.
text = "Hello World   How are you?"
result = re.split(pattern, text)

print(result)

위의 코드를 실행하면 다음 출력을 얻을 수 있습니다.

['Hello', 'World', 'How', 'are', 'you?']

위의 예제에서는 공백 문자를 기준으로 문자열을 분할하였습니다.

특수한 문자를 기준으로 분할하기

특수한 문자를 기준으로 문자열을 분할하려면 해당 문자를 이스케이프하지 않고 정규표현식 패턴에 사용하면 됩니다. 예를 들어 . 문자를 기준으로 분할하려면 r'\.'과 같이 패턴을 정의합니다.

아래는 . 문자를 기준으로 문자열을 분할하는 예제입니다.

import re

# 정규표현식 패턴을 정의합니다.
pattern = r'\.'  # 마침표 문자를 기준으로 분할

# 문자열을 분할합니다.
text = "www.example.com"
result = re.split(pattern, text)

print(result)

위의 코드를 실행하면 다음 출력을 얻을 수 있습니다.

['www', 'example', 'com']

위의 예제에서는 . 문자를 기준으로 문자열을 분할하였습니다.

정규표현식으로 문자열 분할하기의 활용

정규표현식을 이용하여 문자열을 분할하는 기능은 다양한 활용이 가능합니다. 예를 들어 CSV 파일에서 데이터를 읽어올 때, ,를 기준으로 데이터를 분할할 수 있습니다.

아래는 CSV 파일에서 데이터를 읽어와서 분할하는 예제입니다.

import re

# 정규표현식 패턴을 정의합니다.
pattern = r','  # 쉼표를 기준으로 분할

# CSV 파일에서 데이터를 읽어옵니다.
with open('data.csv', 'r') as file:
    csv_data = file.read()

# 데이터를 분할합니다.
result = re.split(pattern, csv_data)

print(result)

위의 코드를 실행하면 CSV 파일에서 읽어온 데이터가 ,를 기준으로 분할되어 리스트로 반환됩니다.


정규표현식을 이용하여 문자열을 분할하는 방법에 대해 알아보았습니다. re.split() 함수를 사용하여 정규표현식 패턴을 기준으로 문자열을 분할할 수 있습니다. 이를 활용하면 다양한 상황에서 문자열을 유연하게 처리할 수 있습니다.