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

Pythonの正規表現でテキストから浮動小数点数を抽出する方法

Pythonでは、標準ライブラリの re モジュールを使うことで、正規表現によるパターンマッチングでテキスト中の浮動小数点数を簡単に抽出できます。re.findall() を利用すれば、文字列内に含まれるすべての数値(整数・小数・負の値)をリストとして一括取得できるのが便利です。

サンプルコード

import re

s = "Sound Level: -11.7 db or 15.2 or 8 db"
result = re.findall(r"[-+]?\d*\.\d+|\d+", s)
print(result)

実行結果

['-11.7', '15.2', '8']

正規表現パターンの解説

使用しているパターン r"[-+]?\d*\.\d+|\d+" の各要素は、それぞれ次のような意味を持っています。

  • [-+]?:符号(マイナスまたはプラス)があれば1文字だけマッチします。
  • \d*\.\d+:小数点を含む数値(例:15.2 や .5)にマッチします。小数点より前の整数部分は省略可能です。
  • \d+:小数点を含まない整数(例:8)にマッチします。

このように |(OR条件)でパターンを組み合わせることで、「小数または整数」のどちらにも対応した柔軟な数値抽出が実現できます。負の数や符号付きの数値も正しく処理されるため、ログ解析やデータクレンジングなど、さまざまなテキスト処理の場面で活用できるテクニックです。

  1. 【Python】Tkinterでラベルのテキストを削除する方法をわかりやすく解説

    Tkinterは、PythonでGUIベースのアプリケーションを作成・開発するための標準ライブラリです。この記事では、何らかのテキストが表示されているラベルから、そのテキストを削除する方法を解説します。 ラベルからテキストを削除するには、ラベルの表示を切り替えるトリガーとして機能するボタンを作成します。具体的には、config()メソッドを使ってラベルのtext属性を空の文字列に書き換えます。 サンプルコード # Tkinterライブラリをインポート from tkinter import * # tkinterフレームのインスタンスを作成 win = Tk() # ウィンドウのサイズを

  2. Pythonでテキストファイルから1行全体を読み取る方法

    Pythonでテキストファイルから1行を読み込む基本Pythonのread()メソッドは、ファイル全体を一度にすべて読み込みます。そのため、大きなファイルを扱う場合にはメモリを大量に消費する可能性があります。ファイルを1行単位で読み込みたい場合は、readline()メソッドまたはreadlines()メソッドを使用します。たとえば、テキストファイルの最初の行だけを読み取りたい場合は、次のように記述します。f = open(my_file.txt, r+) print(f.readline())readline()を呼び出すと、現在のファイルポインタ位置にある行を1行だけ読み込み、末尾の改行文