正規表現を使用してPythonで文字列から特定の文字を削除してみます。
正規表現を使用するには、reモジュールを使います。reモジュールは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」のコードを変更してコマンドプロンプトから実行してみると、関数が呼び出され、結果が返されることを確認できました。
コメント