본문 바로가기
Python/개념익히기

Python 텍스트 전처리 특수문자 제거하는 방법

by ADELA_J 2023. 11. 3.

학습을 위해 데이터를 가져오다보면

종종(아니 엄청 자주) 텍스트 사이에 특수문자가 있는 경우가 있다.

말뭉치나 문장으로 할 때 좀 더 좋은 성능을 위해 깔끔하게 문장을 다듬는 경우들이 있는데

이럴 때 쓰이고는 한다. 

(그 외에도 토큰화를 위한다던지 등등 많은 경우들이 있지만)

 

방법은 크게 2가지가 있는데,

 

1. replace를 사용하기

replace 메서드를 사용해서 첫번째 파라미터에 바꿨으면 하는거, 두번째는 바꿀거 를 작성하면 된다.

 

그렇다면 따란 하고 바뀐다. 

 

2. 정규표현식을 사용한 re.sub

파이썬에서 정규표현식을 사용할 때는 import re 를 사용한다.

그 중에서 sub는 정규식을 지정한 문자열을 바꿔주는 메서드이다.

정규식 관련 ▶ https://dev-adela.tistory.com/135

 

위에 예시로 했던 text를 바탕으로 해보자면

 

\uAC00 - \uD7A30 은 가 - 힣 까지의 모든 한글을 의미하는데,

모든 한글을 지우고나니 숫자랑 특수문자만 남았다. 

만약에 반대로 한글만 남기고 싶다면 어떻게 해야하냐면

^ 이거를 추가해주면 된다. 

반대로 했더니 띄어쓰기까지 다 날라가버렸다.

그래서 띄어쓰기를 살리려면 정규표현식을 사용해서 \s 를 추가해주면된다.

추가하니 띄어쓰기는 그대로 살았다.

 

응용을 해보자면

 

이렇게 특수문자 잔뜩인 문장을 정규식을 사용해 한다면 문자만 남길 수 있다.