文章で最も多く使われる文字を無料で調べます
「Mississippi River」では、16文字のうちiが5回で最多となり、使われている文字は7種類だと分かります。大文字と小文字はまとめて数え、同率の場合はどれかを勝手に選ばず、すべて表示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- テキスト
- Mississippi River
- 文字
- i
- 数量
- 5
- 文字の総数
- 16
- 一意の文字数
- 7
最頻文字検索ツールは、大文字と小文字を区別せずに文章内の文字を数えます。空白、数字、句読点、絵文字など、文字に分類されない記号は集計から除外し、最大の出現回数と、その回数に並ぶすべての文字を返します。そのため、同率の候補から任意の1文字だけを選ぶことはありません。Unicodeの多様な文字体系に対応し、常に同じ入力から同じ結果を生成します。確認や自動分析に役立つ合計値も併せて取得できます。
最も多く使われる文字の調べ方
本ツールは入力をUnicode文字単位で順に読み、文字として分類されるものだけを集計します。空白、改行、数字、句読点、通貨記号、数学記号、絵文字は計算に含めません。対象となる文字は頻度を更新する前に小文字へ変換するため、Aとaは同じ文字として数えられます。
集計後の応答には、最多の文字、その共通出現回数、調べた文字の総数、大小文字を統一した後の異なる文字数が含まれます。文字の配列が用意されているのは、複数の文字が同率1位になる場合があるためです。3文字がそれぞれ5回現れ、それを超える文字がなければ、3文字をすべて返します。
結果は最初に現れた順を保つため、同じ入力の呼び出しは安定し、テスト、スクリプト、保存済みレポートでも比較しやすくなります。
大小文字、Unicode、同率の扱い
大小文字を区別しない集計は単純に見えますが、正確な分析には文字、バイト、表示上の字形を区別する必要があります。本機能はUTF-16の単位をそのまま分割せず、Unicodeコードポイントを順に処理するため、追加面の文字を誤って二分しません。Unicodeの文字カテゴリを認識し、ラテン、ギリシャ、キリル、アラビアの各文字、漢字など、多数の文字体系を扱います。
文字を認識した後は、地域設定に依存しない小文字変換を行うため、サーバーの地域やブラウザー設定が異なっても一貫した結果になります。アクセント記号は削除せず、別の文字体系へ転写もしません。そのため、eとé、ラテン文字のaとギリシャ文字のアルファは別々に数えます。
複数の正規化済み文字が同じ最大回数なら同率です。
文章やデータ処理での活用方法
最頻文字の結果は、授業課題、パズル制作、簡易的なコーパス調査、書体見本、生成文章の検証にご活用いただけます。教師は句読点を手作業で削除させることなく、頻度分析を説明できます。ゲーム制作者は、ヒント、パングラム、文章の一節で特定の文字が使われすぎていないか確認できます。
開発チームであれば、決定論的な文章統計を品質管理工程へ追加できます。要素が1つだけとは限りません。複数ある場合はすべてを同率1位として示し、countを共通の頻度として使用します。
文字を含まない入力には意味のある1位がないため、エラーを返します。未指定や文字列以外の値も受け付けません。
活用例
文字頻度の授業を作成します
句読点を手作業で除かず、文章で最多の文字と同率の扱いをご説明いただけます。
パズルやゲーム文章を確認します
ヒント、パングラム、文章が特定の文字に偏りすぎていないか調べられます。
品質指標を追加します
最多文字、出現回数、文字総数を決定論的なメタデータとして記録できます。
よくある質問
大文字と小文字は別々に数えますか?
いいえ。 集計前に小文字へ変換するため、Aとaは同じ頻度に加算されます。
複数の文字が同率になった場合はどうなりますか?
同率1位の文字をすべて、入力内で最初に現れた順に文字配列へ返します。
空白、数字、句読点も数えますか?
いいえ。 Unicode文字だけを数え、空白、数字、句読点、記号、絵文字は除外します。
アクセント付き文字や非ラテン文字に対応していますか?
はい。 多様なUnicode文字に対応します。アクセント付き文字は区別したまま保持し、転写しません。
文字の合計数と種類の数からは何が分かりますか?
合計数は調べた文字の総数で、最多の回数と比べる目安になります。種類の数は文章に含まれる文字の幅広さを示します。「Mississippi River」では、16文字中iが5回で、7種類の文字が使われています。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/text/most-common-letter \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Mississippi River"}'const res = await fetch("https://api.kit.forhosting.com/text/most-common-letter", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Mississippi River"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/most-common-letter",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Mississippi River"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/most-common-letter", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Mississippi River"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Mississippi River"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/most-common-letter", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"text": "Mississippi River"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.most_common_letter",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_chars | 500000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
最も多く使われる文字の調べ方
調査したい内容をテキスト欄に貼り付けるか、APIへ送信してください。
大小文字、Unicode、同率の扱い
countは配列内の各文字に共通し、total_lettersは比率を考える際の分母になります。unique_lettersでは、完全な頻度表を取得しなくても文字の多様性を確認できます。
文章やデータ処理での活用方法
APIで自動化する場合は、テキスト値を送信し、表示または保存の前に文字配列をお読みください。外部サービスは利用せず、ブラウザーとAPIで同じ純粋なアルゴリズムを実行します。ブラウザーでは無料、APIリクエストでは公開基本料金$0.002が適用されます。
技術的な質問
文章に文字が含まれない場合はどうなりますか?
意味のある最多文字を決められないため、invalid_inputエラーを返します。