リスト項目カウント
apples、bananas、空行、cherriesは5行にわたりますが、項目は3つです。空行は初期設定で数えません。買い物や持ち物のリスト、名簿、タスクの一覧を1行1項目で数えられ、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- apples bananas cherries
- 数量
- 3
- 項目数
- 3
- 総行数
- 5
- 空白行
- 2
リスト項目の数え上げは日々の在庫確認です。買い物リスト、荷造りチェックリスト、名簿、チケットのバックログを貼り付け、実際に意味のある行がいくつあるかを把握できます。このリスト項目カウンターは、1行1エントリの空でないテキストを受け取り、復帰、改行、またはCRLFの組で分割し、安定した項目数を返します。既定では空行や空白のみの行を無視するため、スペーサー行が在庫を水増ししません。末尾の空行を含むすべての行セグメントを数えたい場合はそのオプションをオフにしてください。
リスト項目の数え方と空行の扱い
リスト項目のカウントは、一般的な行数カウンターとは異なる検索意図に答えます。リストに何件のエントリがあるか、商品・名前・タスクが1行ずついくつ並んでいるか、在庫検証のために空のスペーサー行を除外すべきか、です。この機能は項目を行終端記号の間の行セグメントと定義します。
終端記号は復帰、改行、またはWindows風の復帰+改行の組を1回の区切りとして扱い、CRLFファイルが二重に数えられないようにします。分割後、各セグメントを分類します。trimで前後の空白を除いたあとに何かが残る行は非空です。
文字、数字、句読点、その他の可視文字が該当します。セグメントが空、またはtrim後に空になる行は空行であり、純粋な空白、タブ、ブロック間の完全に空の行を含みます。人がリストについて考える仕方に沿った素早い在庫確認であり、エディタが末尾改行をどう見せるかではありません。
検索意図がリスト項目のカウント、リストの件数、オンラインのリスト在庫カウンターであるときに、このcount-list-items計算機を選んでください。
活用例
買い物・荷造り在庫
1行1項目の買い物または荷造りリストを貼り付け、既定で空のスペーサー行を無視した項目数を得ます。
名簿とバックログの確認
教員、PM、サポートチームが、ローカルのシェルユーティリティを入れずに貼り付けリストの名前やチケットを数えます。
よくある質問
textが空の場合はどうなりますか?
長さゼロの文字列は拒否され課金されません。空でない空白のみのテキストは許可され、空行無視時はcountが0になることがあります。
CRLFとLFはどう扱われますか?
復帰、改行、CRLFの組はすべて行区切りとして扱われます。CRLFは1回の区切りとして数え、Windows風リストが二重に数えられないようにします。
行数より項目数が少ないのはなぜですか?
初期設定では空行を数えないためです。apples、bananas、空行、cherriesの例は5行ありますが、項目が入っているのは3行なので、結果は3になります。
空行も項目として数えるには?
空行を無視する設定をオフにします。すると空行や最後の改行の後の行も含めてすべての行を数え、同じ例は3ではなく5になります。
空白だけの行は項目になりますか?
初期設定ではなりません。空白やタブだけの行は空行として扱い、数えません。空行を無視する設定をオフにした場合だけ、1項目として数えます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/str/count-list-items \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"apples\nbananas\n\ncherries\n"}'const res = await fetch("https://api.kit.forhosting.com/str/count-list-items", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "apples\nbananas\n\ncherries\n"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/count-list-items",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "apples\nbananas\n\ncherries\n"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/count-list-items", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"apples\\nbananas\\n\\ncherries\\n"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"apples\nbananas\n\ncherries\n"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/count-list-items", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "apples\nbananas\n\ncherries\n"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.count_list_items",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
空の入力はinvalid_inputで失敗し、パイプラインが誤って長さゼロのペイロードを保存しないようにします。
リスト項目の数え方と空行の扱い
主要フィールドcount(item_countとしても公開)は、ignore_blankがtrueのときnon_blank_linesに等しく、falseのときtotal_linesに等しくなります。この単一のスイッチが製品の約束です。単語数、主目的としての文字数、段落検出、別ランディングでの多フィールド行統計が必要な場合には使わないでください。それらは別の用語です。 アルゴリズムは完全に決定論的です。同一入力は常に同一のJSONを返し、ネットワーク呼び出し、乱数シード、壁時計はありません。
入力契約、ignore_blankオプション、応答フィールドの読み方
真偽値はそのまま使えます。true false yes no on offの文字列形や数値の0または1も受け付けるため、フォーム投稿やクエリ型クライアントが単純なままです。長さゼロでない空白のみのテキストは許可されます。本製品はリスト向けのテキストユーティリティであり、大量ファイル倉庫ではありません。測定したい空でないリストを、必須の文字列フィールドtextに設定したJSON本文を送ってください。古いクライアントやフォーム生成器がその名前を使う場合、別名input、value、s、content、body、listが受け付けられます。省略可能なignore_blankの既定はtrueです。別名skip_blank、skip_empty、ignore_emptyは同じフラグに対応します。textの欠落、非文字列値、長さゼロの文字列はいずれも問題を名指しするメッセージ付きでinvalid_inputを起こし、前払いAPIでは課金されません。既定のignore_blankではcountが0、blank_linesがtotal_linesと等しくなり、実項目のないリストとして正しい在庫結果です。成功時の応答には、現在のオプション下の在庫合計としてのcountとitem_count、すべての行セグメントとしてのtotal_lines、監査用のblank_linesとnon_blank_lines、使用した設定を返すignore_blank、元文字列のUTF-16長であるcharacter_count、UI表用に正確な入力を返すoriginal、下流コードが形を嗅がずに分岐できるよう常にcount_list_itemsであるmethodが含まれます。バッジに件数だけが必要なときはcountのみを使い、ブロック間の空スペーサー行を気にするスタイル検査ではblank_linesを使い、厳格な行指向プロトコルに合わせて末尾改行で件数を増やす必要があるときはignore_blankをfalseにしてください。ペイロードはWorkerアイソレートに適した通常のメッセージ・文書サイズに留め、マルチメガバイトのダンプではなくしてください。
APIの使い方、料金、ワークフロー、実務上の上限
買い物リスト、荷造りチェックリスト、クラス名簿、スプリントバックログ、paste-binの監査には、wcを入れたり言語ごとにスクリプトを書いたりせず、ブラウザ内の無料リスト項目カウンターを呼び出してください。検証失敗はエンジン拒否後に残高を消費しません。典型的な流れは、荷造りリストの下書きを貼り、空行を無視して項目を数え、旅行前の目標と比較します。別の流れでは決定論的フィクスチャを作ります。次の工程がリストの整理なら並べ替えやユニーク語ツールと組み合わせてもよいですが、count-list-itemsの検索意図が一般的な行統計や語頻度と混ざらないよう、リスト項目カウントは独自ランディングに保ってください。CMS、コンテンツパイプライン、QAハーネス、モバイルクライアントが同じ契約を残高下で必要とするときは、成功1件あたり$0.002の前払いKIT APIを使います。空のスペーサー行を含む既知の複数行サンプルを入れ、count、total_lines、blank_linesを固定し、将来のリファクタがCRLFやignore_blankの既定を誤るとCIを失敗させます。CSV列解析、JSON配列長、箇条書き記号の除去は期待しないでください。それらは別問題で別SEO用語です。SDKを出す作者は、textのみを必須と文書化し、ignore_blankの既定trueを示し、複数行の成功例と空文字列のエラー例を用意して契約の両面を見せられます。単一ASCII項目、混在する空行、ignore_blank false、CRLF終端のフィクスチャを固定すれば、リファクタが合計を黙って変えられません。
連携の活用例
リスト用CIフィクスチャ
ビルドスクリプトがリスト項目のゴールデン出力を固定し、CRLFの誤処理や空入力の回帰が継続的インテグレーションを即座に失敗させます。
技術的な質問
このツールでリスト項目を数えるには?
空でないリスト(1行1項目)をtextに設定したJSONを送ってください。応答はcountとitem_countに加え、total_lines、blank_lines、non_blank_linesを返します。
ignore_blankは何をしますか?
true(既定)のとき、空行や空白のみの行は項目として数えません。falseのとき、最終改行後の末尾の空行を含むすべての行セグメントを数えます。
リスト項目カウンターは無料ですか?
ブラウザツールはお使いの端末上で無料で動作します。API呼び出しは成功1件あたり$0.002の前払いKIT残高を使い、検証失敗は課金されません。