Python で文字列から句読点を取り除く方法

  1. Python で文字列から句読点を取り除く string クラスのメソッドを使う
  2. Python で文字列から句読点を取り除くには regex を使う
  3. Python で文字列から句読点を取り除くには string.punctuation を使う
  4. Python で文字列から句読点を取り除くには replace() を使う

このチュートリアルでは、Python で文字列から句読点を取り除く方法について説明します。これは、NLP のためにテキストデータを前処理したり、クリーニングしたりする際に特に有用なステップです。

Python で文字列から句読点を取り除く string クラスのメソッドを使う

Python で文字列から句読点を取り除くには、string クラスで提供されている組み込み関数を使うことができます。以下の例はこれを示しています。

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

出力:

'string With Punctuations'

上記のメソッドは、与えられた入力文字列からすべての句読点を削除します。

Python で文字列から句読点を取り除くには regex を使う

Python では、文字列から句読点を取り除くために regex を使うこともできます。以下の例はこれを示しています。

import re

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

出力:

'string With Punctuations'

Python で文字列から句読点を取り除くには 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'

Python で文字列から句読点を取り除くには replace() を使う

Python では、文字列から句読点を取り除くために replace() を使うこともできます。ここでも string.punctuation を使ってリストを定義し、すべての句読点を空の文字列に置き換えて句読点を削除します。以下の例はこれを示しています。

s = "string. With. Punctuation?"

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

出力:

'string With Punctuations'

関連記事 - Python String

  • Python でリストを文字列に変換する方法
  • Python で文字列に部分文字列が含まれているかどうかを確認する方法
  • comments powered by Disqus