Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】文字列から整数値を抽出・取得する方法をわかりやすく解説

Pythonでは、正規表現(reモジュール)を使うことで、文字列の中から出現順にすべての整数値を抽出し、リストとして取得できます。以下のコード例をご覧ください。

正規表現ですべての整数値を抽出する

import re

s = "12 hello 52 19 some random 15 number"
# 数字部分を抽出し、int型に変換する
list_of_nums = [int(n) for n in re.findall(r'\d+', s)]
print(list_of_nums)

出力結果

[12, 52, 19, 15]

re.findall(r'\d+', s) は、文字列 s から連続した数字(\d+)をすべて検索し、文字列のリストとして返します。これをリスト内包表記で int() に変換することで、整数値のリストが得られます。

なお、文字列全体が数値のみで構成されている場合は、int() 関数を直接使うだけで簡単に変換できます。

>>> s = "42"
>>> print(int(s))
42

すべての数字を連結して1つの整数にする

文字列内に含まれるすべての数字をつなげて、1つの大きな整数として出力したい場合は、str.isdigit メソッドでフィルタリングする方法が便利です。

>>> s = "12 hello 52 19 some random 15 number"
>>> print(int(''.join(filter(str.isdigit, s))))
12521915

このコードでは、filter(str.isdigit, s) によって文字列 s から数字の文字だけを取り出し、''.join() で連結した後、int() で整数に変換しています。

まとめ

  • 複数の整数を個別に取り出したい → re.findall(r'\d+', s) を使う
  • すべての数字を1つの整数につなげたい → filter(str.isdigit, s)''.join() を組み合わせる
  • 文字列全体が数値なら → int(s) で直接変換できる
  1. Python 3のtkinterでファイルダイアログから文字列(ファイルパス)を取得する方法

    tkinterアプリケーションでファイルシステムを操作したい場合には、filedialogモジュールを利用します。このモジュールは、システム上のファイルを扱うための仕組みを提供しており、さまざまな種類のファイルダイアログを簡単に作成できる組み込み関数を多数備えています。用途に応じて任意のfiledialog関数を選択し、アプリケーションに組み込むことが可能です。中でも最もよく使われているのがfiledialog.askopenfilename()です。この関数を呼び出すと、ユーザーにファイルを開かせるためのダイアログが表示され、選択されたファイルのパスを文字列として受け取ることができます。サン

  2. 【初心者向け】Pythonで文字列の長さを取得する方法をわかりやすく解説

    Pythonで文字列の長さを取得する基本:len()関数Pythonには、文字列やリスト、タプルといった複合オブジェクトの長さ(要素数)を取得できる組み込み関数 len() が用意されています。文字列の長さを知りたい場合は、対象の文字列をそのまま len() の引数として渡すだけでOKです。print(len(abcdefghijklmnopqrstuvwxyz))出力結果:26変数に格納した文字列の長さを取得する実際の開発では、変数に代入した文字列の長さを調べる場面が多いでしょう。次のように、変数を len() に渡すだけで簡単に取得できます。text = Hello, Python! pr