Pythonのfilter()関数を使用しテキストから数値を抽出してみます。
■Python
Google Colaboratory(Google Colab),Python3.7.10
■filter()関数を使用しテキストから数値を抽出する
では、早速filter()関数を使用しテキストから数値を抽出してみます。
■コード
print(''.join(filter(str.isdigit, '123testabc456')))
今回は、filter()関数を用います。関数の括弧内には、第1の引数,パラメータとして、文字列が数字か判定するために、実行される関数としてstr.isdigit()を渡します。第2の引数,パラメータとして文字列(数値を含むテキスト)を渡します。これで、str.isdigit()関数が使用され、True(真)となったもの(数値)のみが抽出されます。
抽出後、join()関数で”(空)を使用し、抽出されたもの(数値)を連結します。最後に連結されたものをprint()関数で出力します。
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、今回指定した文字列(数値を含むテキスト)が、filter()関数とstr.isdigit()関数を用いることで、テキストから数値を抽出し、抽出された数値を連結し、print()関数で出力させることができました。
■日本語のテキストから数値を抽出する
■コード
print(''.join(filter(str.isdigit, '1田中2吉田3宮本4佐々木5岡村6後藤')))
filter()関数を用いて、日本語のテキストからも数値を抽出できるのかやってみます。
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、日本語のテキストであっても、数値を抽出することができました。
コメント