Pythonのfilter()関数を使用しテキストから数値を抽出する

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()関数を用いて、日本語のテキストからも数値を抽出できるのかやってみます。

■実行・検証

スクリプトを作成後、このスクリプトを実行してみます。

実行してみると、日本語のテキストであっても、数値を抽出することができました。

コメント

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