テキストから数値を抽出します

インボイス、スクレイプした商品ページ、チャットログ、コメント付きのCSVファイルなど、複雑なソースデータを貼り付けるだけで、その中に含まれるすべての数値からなるクリーンなリストが取得できます。整数、小数、負数および通貨表示形式の数値は、単一のregex処理で認識されます。出力結果は重複を排除し、各数値を一行にまとめた形で、スプレッドシートや計算機、統計ツールへの直接使用に適しています。

テキストから数値を抽出する方法

  1. 1

    ソースを貼り付ける

    テキストをそのまま貼り付けます。どれほど汚れていても問題ありません。周囲の単語や句読点は無視されます。

  2. 2

    精度を選択してください

    「小数を含む」をオンにすると`3.14`が取得され、オフにすると`42`のような整数のみが抽出されます。

  3. 3

    エクストラクタを実行します

    すべてのマッチが抽出され、ユニークな値が保存され、見つかった異なる数値の個数が取得されます。

  4. 4

    リストをコピーします

    1行に1つの数値が並び、ExcelやNumbersなど、列ベースのツールにそのまま貼り付けることができます。

マッチングアルゴリズムが認識する内容

使用される正規表現は、小数を有効にした場合は /-?\d+(?:\.\d+)?/、無効な場合は /-?\d+/ です。これにより、ロケール依存の曖昧さに惑わされることなく、一般的な数値の形式を網羅できます。

抽出される値の例

入力 抽出結果(小数あり)
税込合計: 1299.99 1299.99
気温が -4.5C まで低下 -4.5
バージョン 2.1.3 を本日リリース 2.1, 3
ID: 001, 042, 1007 001, 042, 1007
スコア: 87% 合格 87

扱わない対象

  • 桁区切り。 1,234.561234.56 に分割されて抽出されます。完全な数値が必要な場合は、先に区切り記号を取り除いてください。
  • ヨーロッパ式の小数点コンマ。 3,14314 として読み取られます。抽出前にコンマをピリオドに置き換えてください。
  • 指数表記。 6.02e236.0223 を返します。指数の形式が必要な場合は、元のデータをご自身で解析してください。
  • 分数。 1/20.5 ではなく 12 になります。

抽出後に役立つ操作

  • リストを統計ツールに取り込めば、平均・中央値・標準偏差を求められます。
  • sort | uniq で並べ替えて重複を除けば、ログ内の一意な値を洗い出せます。
  • 2 つの抽出結果を並べて比較すれば、請求書で抜け落ちた項目を見つけられます。

よくある質問

これらを無視し、数値部分のみを返します。カンマは千位区切りとして扱われないため、$1,299.991および299.99に変換されます。1299.99を一つの単位として表示する場合は、ソースからカンマを削除してください。

regexは数字列を文字通り捉えるため、007007のままとなります。これは、数値ではなくIDや部品コード、郵便番号などの場合に特に重要です。

デフォルトでは重複項目が削除されるため、クリアで明確なリストが取得できます。原始的な順序を維持したストリームが必要な場合は、ソースデータをgrepスタイルのパイプラインを通すようにしてください。

テキストはリクエスト内で処理され、応答後に保存されません。入力内容はどこにも保存されません。

関連ツール

このツールは他の言語でも利用できます