テキストから数値を抽出
12.5%、1,234,567.89、3つの工場、4200個、-1.5の差、2e3個の予備品を含む文からは、その6つの数値が読む順に重複も含めて返ります。報告書や実験メモを貼り付けて数値をコピーできます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
段落から数値を抜き出す作業は、アナリスト、学生、記者、そして報告書を表ではなく文章として受け取るすべての人の日常です。この抽出ツールはテキストを左から右へ走査し、見つかった整数と小数を出現順に一覧します。符号付きの値、英語式の千の位区切り、科学表記も含みます。状況報告、実験ノート、文章で書かれた請求、変更履歴の短い説明から数量を取り出すためにあり、表を開いたり正規表現を書いたりする必要はありません。宿題の確認と本番パイプラインが、1,234.50 を1件と見るか2件と見るかで食い違うことはありません。
何を数値とみなし、トークンをどの順で読むか
地の文の中の数値は、表計算のセルにある数値と同じ対象ではありません。人は同じ文に 42、3.14、.75、+2、値 -1.5、1,234.56、2e3 を書き、さらにページ 10-20 のような範囲や v1.2.3 のような版文字列も書きます。後者は数値に見えても1つの小数へ畳んではなりません。
本能力は文字列を左から右へ一度だけ歩き、固定規則のもとで整数または小数であるトークンをすべて残します。先頭のプラスやマイナスが符号になるのは、テキスト先頭、または空白や開き句読点の直後だけです。したがって変化量 -1.5 は符号付き、範囲 10-20 は符号なし整数が2つです。
英語式の千の位区切りは、コンマがちょうど3桁の塊を分けるときに認められ、1,234,567.89 は1つの値です。先頭が点の小数 .75 も認めます。e または E に任意符号と1桁以上の数字が続く科学指数は同じトークンの一部です。
ソフトウェア版や IPv4 アドレスのように点が多い並びは整数成分へ分割し、v1.2.3 は 1.2 のあとに .3 ではなく 1、2、3 になります。通貨記号、パーセント、単位語は境界でありトークンの一部ではありません。順序は常に初出順で重複も含みます。
同じ数字を2度繰り返す報告書は、一意値のダンプとは別の意味だからです。
使い方の流れと対象外のこと
宿題の検算、請求の一文、実験ノート、短い監査には、各言語で正規表現を書かずに、ブラウザ内の無料ツールでテキストから数値を抽出してください。検証失敗はエンジン拒否のあと残高を消費しません。典型的な流れは四半期の段落を貼り、数字を一覧し、values を表へコピーします。
別の流れは決定的フィクスチャの構築で、既知の複数行サンプルを入れ、numbers と values の配列をピン留めし、将来のリファクタが千の位区切り・符号・科学表記を誤ると CI を失敗させます。次が通貨・税・ラベル付き合計なら金額抽出器と、正規化した暦日が必要なら日付抽出器と組み合わせてください。生の日付文字列の中の桁だけを欲しい場合とは別です。
このページが、ある数が価格か数量か年かを分類することは期待しないでください。それは別の検索意図であり、構造化抽出器が担います。符号付き値、区切り付き千、先頭点の小数、科学表記、版のような点続きのフィクスチャをピン留めし、リファクタが一覧を黙って変えないようにします。
活用例
文書の報告書から数字を抜き出す
アナリストが四半期の段落を貼ると、千の位区切りやパーセントを数値トークンへ直したうえで、整数と小数が出現順に得られます。
実験ノートと宿題の検算
学生や技術者は、走り書きの測定値を表へ手再入力せずに、連続ノートから値を抽出できます。
数値パーサ向けの CI フィクスチャ
ビルドスクリプトが抽出数字と解釈済み値を固定し、符号・千の位・科学表記の回帰を継続的インテグレーションですぐ失敗させます。
よくある質問
テキストから数値を抽出するにはどうすればよいですか?
応答の numbers 配列が整数と小数を初出順に列挙し、values が同じトークンを有限数として保持します。
3.14 や .75 のような小数は残りますか?
はい。 整数、通常の小数、先頭が点の小数、英語式の千の位区切り、科学表記をすべて集めます。
ページ範囲 10-20 は負数になりますか?
なりません。 マイナスが符号になるのは先頭、または空白や開き句読点の直後だけです。10-20 は 10 と 20 を返し、変化量 -1.5 は -1.5 を返します。
v1.2.3のようなバージョン番号が3つの数値になるのはなぜですか?
点が複数ある並びは小数ではなくバージョン番号やアドレスに見えるためです。整数の部分に分けるので、v1.2.3は誤解を招く1.2と.3ではなく、1、2、3になります。
パーセント記号や通貨記号はどう扱われますか?
数値の区切りとして扱い、数値には含めません。12.5%からは12.5が、通貨記号の付いた金額からは42.00のような数字の部分だけが取り出されます。単位の言葉も同じです。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/extract-numbers \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Quarterly report: revenue rose 12.5% to $1,234,567.89 after 3 plants shipped 4200 units at -1.5 margin and 2e3 spares."}'const res = await fetch("https://api.kit.forhosting.com/str/extract-numbers", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Quarterly report: revenue rose 12.5% to $1,234,567.89 after 3 plants shipped 4200 units at -1.5 margin and 2e3 spares."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/extract-numbers",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Quarterly report: revenue rose 12.5% to $1,234,567.89 after 3 plants shipped 4200 units at -1.5 margin and 2e3 spares."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/extract-numbers", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Quarterly report: revenue rose 12.5% to $1,234,567.89 after 3 plants shipped 4200 units at -1.5 margin and 2e3 spares."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Quarterly report: revenue rose 12.5% to $1,234,567.89 after 3 plants shipped 4200 units at -1.5 margin and 2e3 spares."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/extract-numbers", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Quarterly report: revenue rose 12.5% to $1,234,567.89 after 3 plants shipped 4200 units at -1.5 margin and 2e3 spares."
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.extract_numbers",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_chars | 100000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
空または欠落したテキストは無効入力で失敗し、呼び出し側が無言の空ペイロードを保存しないようにします。
何を数値とみなし、トークンをどの順で読むか
12.5% と $42.00 は 12.5 と 42.00 を寄与します。
入力契約、応答フィールド、要求が拒否されるとき
数値が1つもないのは有効な成功です。numbers は空配列、count はゼロで、語だけの段落に対する正直な結果です。文書へ数字を戻すだけなら numbers を使い、スクリプトで合計・整列・比較するなら values を使います。アルゴリズムは純粋な文字列論理のため、継続的インテグレーションはオブジェクト全体をピン留めできます。本製品はテキストユーティリティであり一括倉庫ではありません。元テキストは他の KIT parse 項目と同じ保持規則に従います。必須の文字列フィールド text に、走査したい空でないサンプルを入れた JSON ボディを送ってください。古いクライアントやフォーム生成器向けに input、value、s、content、body、string の別名も受け付けます。text の欠落、非文字列、長さゼロ、空白のみは、問題を名指しするメッセージ付きで invalid_input を起こし、プリペイド API では課金されません。長さは10万文字を上限とし、ブラウザと Worker の走査を有界にします。超過も invalid_input です。成功時の応答は、1,234.50 や 007 が読めるよう表層トークンを順に並べた numbers、区切りコンマを除いて有限 IEEE 数へ解釈した values、両者の長さ count、小数点も指数もないトークンの integer_count、それらがあるトークンの decimal_count、UI 表向けに正確な入力をエコーする original、分岐用に常に extract_numbers の method です。ペイロードは通常の文書サイズに留め、数メガバイトのダンプは避けてください。
API の使い方、料金、作業手順、このツールが対象にしないこと
CMS、コンテンツパイプライン、QA ハーネス、学習アプリ、モバイルクライアントが残高のもとで同じ契約を必要とするときはプリペイド KIT API を使い、成功1件あたり $0.002 です。SDK を出す著者は text を唯一の必須フィールドとして文書化し、整数と小数が混ざる成功例と空文字列のエラー例の両方を示せます。
技術的な質問
text が空だとどうなりますか。
要求は invalid_input で失敗します。空や空白のみの入力は認められず、検証失敗はプリペイド API では課金されません。
テキストから数値を抽出するツールは無料ですか。
ブラウザのツールはお使いの端末上で無料です。API 呼び出しはプリペイド KIT 残高を使い、成功1件あたり $0.002 です。