0
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?

文字数カウントアプリを作ろう【Streamlit】

Last updated at Posted at 2025-07-10

はじめに

レポートや報告書のような長文を書く際にふと文字数を知りたくなることがあります。
ということで今回はテキストを入力したら文字数をカウント表示させるシンプルな
機能を持つアプリを作っていきたいと思います。

ちなみに完成した画面はこんな感じです ↓

char-count

結果はスペース込みと抜きの文字数を表示するようにしています。

char-count

開発環境

・Google Colaboratory
・WebフレームワークとしてStreamlitを利用する

文字数カウントアプリを作ろう

1.Google Colaboratoryを開く
2.Driveをマウントする(フォルダを操作できるようにする)
3.[countapp.py]ファイルを作成する
4.作成した[countapp.py]をダブルクリックすると画面上に表示され編集ができる

前準備

streamlitのインストール

!pip install streamlit

現在の位置を確認

!pwd

実行ファイルがあるフォルダに移動しておく(環境によってフォルダの位置は変わります)

%cd /content/drive/MyDrive/○○○○

直下に入っているファイルの確認

!ls

localtunnelを使うことで、開発中のローカルサーバーを一時的に公開することが出来る

!streamlit run countapp.py & sleep 3 && npx localtunnel --port 8501

これでアプリが起動したら準備完了です。

countapp.pyの編集

ここからは、実際にcountapp.pyの中身を編集していきます。

ライブラリのインポート

import streamlit as st
import time

タイトル名を付ける

st.title("文字数カウントアプリ")

Click時の関数

def on_click():
    st.session_state.clear = ""

テキストエリアの表示

text_input = ""

text_input = st.text_area('テキストを入力してください', text_input,key="clear")

st.button("リセット", type="primary",on_click=on_click)

文字数のカウント

#スペース込み
length1 = len(text_input)

# スペース含まない
length2 = len(text_input.replace(" ", "").replace(" ", ""))

結果の出力

# ボタンを押したら3秒間出力を待つ
if st.button('start'):
    with st.spinner('processiong...'):
        time.sleep(3)
        st.write("スペース込みの文字数")
        st.write("Result:",length1)
        st.write("スペース抜きの文字数")
        st.write("Result:",length2)

これで完了です!ファイル保存してアプリ画面を再度実行してみましょう。
きちんと文字数カウントが出来ていれば完成です。

さいごに

今回は文字数カウントアプリを作りました。
普段の生活でちょっと疑問に思うことや便利なアイデアがあれば
アプリ開発を通して表現してみましょう!

0
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
0
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?