HOWTO · Python

파이썬에서 문자열에서 구두점을 제거하는 방법

이 기사에서는 Python의 문자열에서 구두점을 제거하는 방법을 소개합니다.

이 페이지의 내용

이 자습서에서는 Python의 문자열에서 구두점을 제거하는 방법에 대해 설명합니다. NLP에 대한 텍스트 데이터를 사전 처리하고 정리하는 데 특히 유용한 단계입니다.

파이썬에서 문자열에서 구두점을 제거하기 위해string 클래스 메서드 사용

Python의 문자열에서 구두점을 제거하기 위해String 클래스에 제공된 내장 함수를 사용할 수 있습니다. 아래 예는이를 설명합니다.

s = "string. With. Punctuations!?"
out = s.translate(str.maketrans("", "", string.punctuation))
print(out)

출력:

'string With Punctuations'

위의 방법은 주어진 입력 문자열에서 모든 구두점을 제거합니다.

파이썬에서 정규식을 사용하여 문자열에서 구두점 제거

파이썬에서 문자열에서 구두점을 제거하기 위해regex를 사용할 수도 있습니다. 아래 예는이를 설명합니다.

import re

s = "string. With. Punctuation?"
out = re.sub(r"[^\w\s]", "", s)
print(out)

출력:

'string With Punctuations'

파이썬에서 문자열에서 구두점을 제거하려면string.punctuation을 사용하십시오

논의 된 첫 번째 방법과 유사합니다. string.punctuation은 영어로 구두점으로 간주되는 모든 문자를 포함합니다. 이 목록을 사용하여 문자열에서 모든 구두점을 제외 할 수 있습니다. 아래 예는이를 설명합니다.

s = "string. With. Punctuation?"

out = "".join([i for i in s if i not in string.punctuation])
print(out)

출력:

'string With Punctuations'

파이썬에서 문자열에서 구두점을 제거하려면replace()를 사용하십시오

또한replace()를 사용하여 Python의 문자열에서 구두점을 제거 할 수 있습니다. 다시 말하지만,string.punctuation을 사용하여 구두점의목록을 정의한 다음 모든 구두점을 빈 문자열로 대체하여 구두점을 제거합니다. 아래 예는이를 설명합니다.

s = "string. With. Punctuation?"

punct = string.punctuation
for c in punct:
    s = s.replace(c, "")
print(s)

출력:

'string With Punctuations'