広告 プログラミング

【Webアプリ】文字数カウントツール【リアルタイム処理】

※本ページには、プロモーション(広告)が含まれています。

悩んでいる人

文字数のカウントや文章全体に対する漢字の割合など、作成した記事に対する統計情報を確認したい。

Web上で完結するツールがあれば教えて欲しい。

こんなお悩みを解決します。

文章を作成しているとき、どの位の規模となっているか、確認したいときがありますよね。

Wordには、カウント機能が付属しており手軽に利用できるというメリットがありますが、機能が限定されており、スマホ等で利用しづらいという欠点があります。

そこで、Web上で利用できるアプリケーションを作成し、公開することにしました。

ブラウザ上で完結するので、情報漏洩を心配することなく利用できます。ぜひ、利用してみてください。

効率良く技術習得したい方へ

短期間でプログラミング技術を習得したい場合は、経験者からフォローしてもらえる環境下で勉強することをおすすめします。

詳細は、以下の記事をご覧ください。

【比較】プログラミングスクールおすすめランキング6選【初心者向け】

続きを見る

文字数カウントツールの概要・使い方

作成したツールは、以下のようになります。

入力画面
空行のカウント方法:
比率表示方法:
文字数 (前後空白なし)
0
文字数
0
文字数 (空白なし)
0
行数
0
行数 空白行なし
0
段落数
0
比率 百分率
漢字: 0
ひらがな: 0
カタカナ: 0
記号: 0

以降では、本ツールの概要と使い方について解説します。

制約

文字数をカウントする上での制約を以下に示します。

  • 改行コードは、文字数に含めません。
  • 記号は、一部のみ集計対象としています。
  • 絵文字等は、集計対象に含まれていません。
  • 文字数が以下を超えると、出力結果を得るまでに時間がかかることがあります。
    PC:9万文字
    スマホ:3万文字

概要

出力結果一覧

出力結果の詳細と集計時に用いる正規表現を以下に示します。

大項目中項目内容正規表現
文字数前後空白なし入力文字数のうち、前後空白を削除した文字数の合計

1行ごとに対して以下を実行
replace(/^\s+|\s+$/g, '')

-入力文字数の合計

全文章に対して以下を実行し、文字数をカウント
replace(/\n/g, '')

行数-入力行数の合計(改行コードの数の合計)全文章に対して以下を実行し、要素数をカウント
split(/\n/)
空行なし改行コードのみの行を除いた場合に対する入力行数の合計各行に対し、以下に該当する行数をカウント
/^\n?$/g
空白行なし改行コードのみまたは空白文字のみからなる行を除いた場合に対する入力行数の合計各行に対し、以下に該当する行数をカウント
/^\s*?\n?$/g
段落数-

以下のいずれかに該当する行数の合計
1.文頭がスペースで始まっている場合
2.改行2つで段落を表現する場合(1.に該当しない場合のみ実行)
3.改行1つで段落を表現する場合(2.に該当しない場合のみ実行)

それぞれ、以下のように処理する。
1./^\s/gにマッチする行数をカウント
2.全文章に対してsplit(/\n\n.+/)を実行し、要素数をカウント
3.全文章に対してsplit(/\n.+/)を実行し、要素数をカウント

比率漢字文字数(前後空白なし)に対する正規表現にマッチした要素数の割合(候補がない場合は「-」を表示)/([\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選【初心者向け】

続きを見る

スポンサードリンク

-プログラミング
-,