単語数カウンター
入力中にリアルタイムで単語数、文字数、文数、段落数をカウントし、読了時間と話す時間の目安も表示します。
統計
読了時間は毎分225語(成人の黙読の平均速度としてよく引用される値)を想定しています。話す時間は毎分130語(口頭発表の平均的なペース)を想定しています。
仕組み
キー入力のたびに、カウンターは元のテキストから6つの統計値をすべて再計算します。単語は空白を含まない連続文字列で、正規表現 \s+ で分割してカウントします。文は .、!、? のいずれかで終わり、その後にスペースまたはテキストの終端が続く連続文字列です。段落は空行で区切られたまとまりです。読了時間は毎分225語(典型的な黙読ペース)、話す時間は毎分130語(おおよそ講演のペース)を想定し、どちらも最も近い秒数に丸められます。
これらは正直な近似値であり、どこで実態とずれるかを知っておく価値があります。文のカウントは略語と句点の区別ができないため、「Mr. Smith arrived.」は2文としてカウントされます。単語数も、ツールによって正当に異なります。このツールは「state-of-the-art」を(内部にスペースがないため)1語としてカウントしますが、ワープロソフトの中にはハイフン付きの複合語を別の方法で数えるものもあり、そのため同じ文章がここでは998語、別の場所では1002語になることがあります。どちらも間違いではなく、単に単語の境界の定義が異なるだけです。
文字数はテキストの生の長さで、スペースや改行も含まれます。一つ注意点があります。JavaScriptの文字列はUTF-16単位でカウントするため、ほとんどの絵文字は2文字としてカウントされ、一部(家族や国旗の絵文字など)はさらに多くカウントされます。これはTwitterのようなプラットフォームの文字数制限が通常適用される方法と一致するため、確認する価値のある数値です。
カウント処理はタブ内で行われるわずかな正規表現の演算にすぎません。入力した内容がどこかに送信されることはありません。書いている間、開発者ツールのネットワークパネルは空のままで、接続を切ってもカウンターは動作し続けます。