文字数のカウントや文章全体に対する漢字の割合など、作成した記事に対する統計情報を確認したい。
Web上で完結するツールがあれば教えて欲しい。
こんなお悩みを解決します。
文章を作成しているとき、どの位の規模となっているか、確認したいときがありますよね。
Wordには、カウント機能が付属しており手軽に利用できるというメリットがありますが、機能が限定されており、スマホ等で利用しづらいという欠点があります。
そこで、Web上で利用できるアプリケーションを作成し、公開することにしました。
ブラウザ上で完結するので、情報漏洩を心配することなく利用できます。ぜひ、利用してみてください。
効率良く技術習得したい方へ
短期間でプログラミング技術を習得したい場合は、経験者からフォローしてもらえる環境下で勉強することをおすすめします。
詳細は、以下の記事をご覧ください。
【比較】プログラミングスクールおすすめランキング6選【初心者向け】
続きを見る
文字数カウントツールの概要・使い方
作成したツールは、以下のようになります。
以降では、本ツールの概要と使い方について解説します。
制約
文字数をカウントする上での制約を以下に示します。
- 改行コードは、文字数に含めません。
- 記号は、一部のみ集計対象としています。
- 絵文字等は、集計対象に含まれていません。
- 文字数が以下を超えると、出力結果を得るまでに時間がかかることがあります。
PC:9万文字
スマホ:3万文字
概要
出力結果一覧
出力結果の詳細と集計時に用いる正規表現を以下に示します。
大項目 | 中項目 | 内容 | 正規表現 |
---|---|---|---|
文字数 | 前後空白なし | 入力文字数のうち、前後空白を削除した文字数の合計 | 1行ごとに対して以下を実行 |
- | 入力文字数の合計 | 全文章に対して以下を実行し、文字数をカウント | |
行数 | - | 入力行数の合計(改行コードの数の合計) | 全文章に対して以下を実行し、要素数をカウントsplit(/\n/) |
空行なし | 改行コードのみの行を除いた場合に対する入力行数の合計 | 各行に対し、以下に該当する行数をカウント/^\n?$/g | |
空白行なし | 改行コードのみまたは空白文字のみからなる行を除いた場合に対する入力行数の合計 | 各行に対し、以下に該当する行数をカウント/^\s*?\n?$/g | |
段落数 | - | 以下のいずれかに該当する行数の合計 | それぞれ、以下のように処理する。 |
比率 | 漢字 | 文字数(前後空白なし)に対する正規表現にマッチした要素数の割合(候補がない場合は「-」を表示) | /([\u{3005}\u{3007}\u{303b}\u{3400}-\u{9FFF}\u{F900}-\u{FAFF}\u{20000}-\u{3FFFF}][\u{E0100}-\u{E01EF}\u{FE00}-\u{FE02}]?)/gmu |
ひらがな | /[\u{3041}-\u{3096}]/gmu | ||
カタカナ | /[\u{30A1}-\u{30FA}]/gmu | ||
記号 | /[\u{3000}-\u{301C}\u{3099}-\u{309E}\u{30FB}-\u{30FE}]/gmu |
実行時のオプション
行数と比率の集計を行う上でのオプションを用意しております。
それぞれの違いを以下に示します。
大分類 | 中分類 | 説明 |
---|---|---|
行数 | 空行なし | 行数(空行なし)として集計(前述の表参照) |
空白行なし | 行数(空白行なし)として集計(前述の表参照) | |
比率 | 百分率 | 比率を小数第2位までの範囲(0.00~100.00)で出力 |
分数 | 百分率に変換する前の分数の形式で出力 |
使い方
使い方は、下図の赤枠部分にカウントしたい文章を入力/貼り付けることで、文字数をカウントすることができます。
また、「リセット」を押下することで、赤枠内の文字を削除できます。
実行例
いくつか例文を取り上げ、その実行結果を示し、イメージを掴めるようにします。
本記事の冒頭部分
以下の文章を対象に文字数をカウントしてみます。
文章を作成しているとき、どの位の規模となっているか、確認したいときがありますよね。
Wordには、カウント機能が付属しており手軽に利用できるというメリットがありますが、機能が限定されており、スマホ等で利用しづらいという欠点があります。
そこで、Web上で利用できるアプリケーションを作成し、公開することにしました。
ブラウザ上で完結するので、情報漏洩を心配することなく利用できます。ぜひ、利用してみてください。
上記の文章の場合、文頭にスペースがないため、2つの改行で段落を表現している、と解釈します。
このため、内訳は以下のようになります。
項目 | |
---|---|
行数 | 7 |
行数(空白行なし) | 4 |
段落数 | 4 |
処理結果は、以下のようになり、同じ結果が得られていることが分かります。
空行と空白行の挙動の違い
「空行なし」と「空白行なし」は、スペースだけから成る行をカウント対象とする/しない、という違いがあります。
これは、例を示した方が分かりやすいので、以下に例を示します。
上記の場合、行数の違いは以下のようになります。
集計方法 | 集計結果 | 理由 |
---|---|---|
空行なし | 4 | 上図の空白行(2行目)がカウント対象となるため |
空白行なし | 3 | 上図の空白行(2行目)がカウント対象とならないため |
実際に動かして確認すると、以下のように結果が異なることが確認できます。
空行なしを指定した場合の実行結果
空白行なしを指定した場合の実行結果
百分率表記と分数表記の違い
「百分率表記」は、「分数表記」の結果を小数第2位まで計算した結果(1/3なら33.33)を表示します。
例を示すと以下のようになります。
百分率表記
分数表記
まとめ
今回は、Web上で文字数をカウントできるツールを紹介しました。
この手のアプリは、すでに色々なものが公開されていますが、欲しい機能がない場合は自作するのが手っ取り早いです。
また、html、css、javascriptの勉強の一環として、Webアプリを作るのも良いと考えています。
今後も機能拡張していきたいので、利用いただいた上で、コメントや要望があればお問い合わせいただければと思います。
効率良く技術習得したい方へ
今回の話の中で、プログラミングについてよく分からなかった方もいると思います。
このような場合、エラーが発生した際に対応できなくなってしまうため、経験者からフォローしてもらえる環境下で勉強することをおすすめします。
詳細は、以下の記事をご覧ください。
【比較】プログラミングスクールおすすめランキング6選【初心者向け】
続きを見る