1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発】クリップボードを読み取って文字数を計測する方法

Last updated at Posted at 2024-03-04

はじめに

Wordpressでブログを始めてから、文字数に気を使うことが増えました。記事のタイトルは30文字程度に収めなければ、はみ出してしまうからです。

そこで、「clipcount」というPythonパッケージを作成しました。これにより、文章をコピーするだけで文字数を計測できます。

clipcount

clipcountはクリップボードの文字を読み込み、文字数を出力するPythonパッケージです。

詳しい開発経緯は以下の記事をご参照ください。

1.インストール(Setup)

pipでインストールします。

pip install clipcount

Windowsで「警告」が出た時の対処方法

"WARNING: The script clipcount.exe is installed in 'ファイルパス' which is not on PATH."」といった警告が表示され、コマンドが実行されないこともあります。この問題の解決につきましては、以下の記事をご参照ください。

WARNING: Failed to write executable - trying to use .deleteme logic 」といった警告が出てインストールそのものが出来ないこともあります。この問題の解決につきましては、以下の記事をご参照ください。

2.使い方(Quick usage)

CUIツールとして使用し、文字数をターミナル上に出力できます。

$ clipcount [オプション]

また、Pythonファイル上でインポートできます。

from clipcount import clipcount
x = clipcount({オプション})
オプション 説明
clipcount -h ヘルプ画面を表示します。
clipcount --help_jp ヘルプ画面を日本語で表示します。
clipcount -b 改行コード(\n\r\n)を削除した文字数を出力します。
clipcount -s 半角空白を削除した文字数を出力します。
clipcount -S 全角空白を削除した文字数を出力します。
clipcount -t タブコード(\t)を削除した文字数を出力します。
clipcount --split 空白文字(改行、半角空白、全角空白、タブ)を削除した文字数を出力します。
clipcount -m 半角英数を0.5文字として換算して、文字数を出力します。

3.使用例(Example)

以下の例は「Windows」環境で実行しているので、改行コードを「\r\n」としてカウントしています。

以下の文章をコピーした上で、clipcountを実行します。

clipboardの
文字 を読み込みます。

CUI

  • そのまま実行する
# 空白文字を含めた全ての文字数を出力
$ clipcount
25
  • 半角空白を削除して出力
# 上記の空白は全角空白なので何も変わらない
$ clipcount -s
25
  • 全角空白を削除して出力
# 全角空白が1文字削除されて出力
$ clipcount -S
24
  • 改行コードを削除して出力
# 改行コードが削除されて出力
$ clipcount -b
21
  • 空白文字(改行、半角空白、全角空白、タブ)全てを削除して出力
# 空白文字(改行、半角空白、全角空白、タブ)全てが削除される
$ clipcount -sSbt
20

もしくは--splitを使っても同じ結果がでる。

# 空白文字(改行、半角空白、全角空白、タブ)全てが削除される
$ clipcount --split
20
  • 半角英数を0.5文字と換算して出力
# 半角英数は0.5文字になる
$ clipcount -m
18.5

インポート

Pythonファイルで「import」も出来ます。
注意点として、オプションに渡すコマンドは「-」や「--」は除いたものしてください。

# クリップボードの文字数を変数に格納できる
from clipcount import clipcount
x = clipcount({"split"})
print(x)
# 「clipcount --split」と同じ結果となる
$ python hoge.py
20

4.解説(Usage)

clipcountは、「クリップボードを読み込み、文字数を出力する」Pythonパッケージです。
デフォルトでは、「空白文字(改行、半角空白、全角空白、タブ)を含めた文字数」を出力します。また、半角文字と全角文字のどちらも「同じ1文字」として換算しています。

各種オプションで、それぞれの空白文字を削除した文字数を出力できます。
ターミナル上で使用する場合、オプションは組み合わせる事ができるので、例えば、「全角空白とタブのみ削除した文字数を出力する」には「clipcount -St」とすると良いです。

もし、空白文字を一括で削除したい場合は「--split」オプションが使えます。これは「-bsSt」と同じ意味となります。

半角文字と全角文字を分けて換算したい場合は「-m」オプションが使えます。これは半角文字を「0.5文字として換算する」オプションです。WordPressでは半角英数は0.5文字として扱われるため、タイトルやメタキーワードなどの文字数を気にする場面で使用すると、良いと思われます。

5.使用しているパッケージ (Dependencies)

GitHub

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?