正規表現を使用してPythonで文字列から特定の文字を削除する

正規表現を使用してPythonで文字列から特定の文字を削除してみます。

正規表現を使用するには、reモジュールを使います。reモジュールはPythonの標準ライブラリとなっていますので、事前にインストールする必要はありません。

■Python

Pythonバージョン

今回のPythonのバージョンは、「3.8.2」を使用しています。(Windows10)

■正規表現を使用して文字列から特定の文字を削除する

delete= ['[^!.?]+']

まずは、deleteというリストを用意します。リストの中には削除したい特定の文字を入れます。

■コード

import re

sentence = "What is this???????"
delete = ['[^!.?]+']

for d in delete:
match = re.findall(d, sentence)
print(match)

deleteというリストを用意し、インポートでreモジュールを呼び出して、「What is this???????(これは何ですか???)」という文字列から、deleteというリスト内の特定の文字に該当するパータンを照合するために、forループを使用します。

re.findall() 関数で、文字列の中で該当した特定の文字のリストを返します。今回の場合では「?」が該当するので、「What is this???????(これは何ですか???)」という文章から「?」が取り除かれたリストが返される。

その返されたリストをprint関数で出力します。

■実行

今回書いたスクリプトを「delete-characters.py」という名前で保存し、コマンドプロンプトから実行してみます。

実行してみると、文字列から特定の文字を削除できることを確認できました。

■関数を呼び出して結果を返す

関数を呼び出して結果を返すこともできます。

■コード

import re

def charactermatch(sentence, delete):
for d in delete:
match = re.findall(d, sentence)
print(match)

sentence = "What is this???????"

delete = ['[^!.?]+']

charactermatch(sentence, delete)

■実行

「delete-characters.py」のコードを変更してコマンドプロンプトから実行してみると、関数が呼び出され、結果が返されることを確認できました。

コメント

タイトルとURLをコピーしました