본문 바로가기

공부기록/Python

파이썬 정규표현식 이용해 문장부호 지우기

아스키코드 표를 이용해 if문으로 걸러주는 방법을 사용하면, 아스키코드 내에 문장 부호가 한 부분에 몰려있지 않아 코드가 길어진다.

아래와 같이 정규표현식을 이용하면 간단하게 아스키코드 내 모든 문장부호를 커버할 수 있다.

word = "Hello, my friend~"
word = re.sub(r'[!"#$%&\'()*+,-./:;<=>?@\[\]^_\`{|}~\\\\]','', word)
print(word)

 

특수문자 중에 [ ] ' \ ` 에 대해선 앞에 역슬래시를 붙여줘야 인식한다.
정규식 앞에 r을 붙여주지 않으면, 코드가 동작하는 데는 문제가 없지만 pycodestyle에서 invalid escape sequence 라는 오류를 보여주며 고치라고 한다.

 

실행결과