[python] 정규표현식을 이용한 특수문자 제거

정규표현식은 특정 패턴을 찾아내기 위해 사용되는 강력한 도구입니다. 이를 이용하여 문자열에서 특수문자를 제거하는 방법을 알아보겠습니다.

re 모듈을 이용한 특수문자 제거

Python의 re 모듈은 정규표현식을 처리하는데 사용되는 내장 모듈입니다. 아래의 코드를 참고하여 특수문자를 제거해보세요.

import re

def remove_special_chars(text):
    # 특수문자를 제거하는 정규표현식 패턴 설정
    pattern = r'[^a-zA-Z0-9가-힣\s]'  
    # 특수문자를 공백으로 치환
    text = re.sub(pattern, '', text)
    return text

# 예시 문자열
text = "안녕하세요!@#? 파이썬입니다."
cleaned_text = remove_special_chars(text)
print(cleaned_text)

위 코드는 remove_special_chars 함수를 정의하고, 해당 함수 내에서 re.sub() 메소드를 사용하여 특수문자를 공백으로 치환하고 반환합니다. 이후 예시 문자열을 입력하여 출력 결과를 확인할 수 있습니다.

str.translate() 메소드를 이용한 특수문자 제거

또 다른 방법으로는 문자열의 str.translate() 메소드를 사용하여 특수문자를 제거할 수 있습니다. 아래의 코드를 참고하여 해보세요.

import string

def remove_special_chars(text):
    # 특수문자를 포함한 모든 문자를 공백으로 치환할 테이블 생성
    table = str.maketrans('', '', string.punctuation)
    # 특수문자 제거
    text = text.translate(table)
    return text

# 예시 문자열
text = "안녕하세요!@#? 파이썬입니다."
cleaned_text = remove_special_chars(text)
print(cleaned_text)

위 코드에서는 str.maketrans() 메소드를 사용하여 특수문자를 포함한 모든 문자를 공백으로 치환할 테이블을 생성하고, str.translate() 메소드를 사용하여 특수문자를 제거합니다.

결론

Python의 re 모듈과 str.translate() 메소드를 사용하여 문자열에서 특수문자를 제거할 수 있는 방법을 알아보았습니다. 이를 활용하여 텍스트 데이터 전처리 등의 작업을 수행할 수 있습니다.

참고 자료