Python の string
というライブラリについてご紹介します。
import string
string
には、文字列に関係した変数やクラスが含まれています。主な内容は次の 2 つです。
- 特定のグループの文字列をまとめた変数
- 文字列をフォーマットするクラス
以下、そのそれぞれについて順番に見ていきます。
特定のグループの文字列をまとめた変数
アルファベットなどの文字グループをまとめた変数がいくつか用意されています。ある変数がアルファベットかどうかをチェックしたりするときに使えます。
string.ascii_lowercase
# => 'abcdefghijklmnopqrstuvwxyz'
ascii_lowercase
には、アルファベットの小文字すべてが入っています。先頭に「 ascii
」がつかない「 lowercase
」というものもありますが、こちらはロケーション(言語環境?)によって異なる場合があるそうです。「 ascii_lowercase
」の方はロケーションに依存しない不変のものです。
string.ascii_uppercase
# => 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
ascii_uppercase
はアルファベットの大文字を含んでいます。こちらも先頭に「 ascii
」のつかない「 uppercase
」があり、両者のちがいは lowercase
と同様です。
string.digits
# => '0123456789'
string.digits
には、 0 から 9 までの数字に対応する文字が入っています。
string.punctuation
punctuation
は、文字と文字の間の句読点、括弧などをまとめたものです。私の環境では「 '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
」が入っていました。
string.whitespace
whitespace
は、空白や改行関連の文字をまとめたものです。私の環境では「 \t\n\x0b\x0c\r
」が入っていました。
文字列をフォーマットするクラス
文字列をフォーマットするクラスとして string.Formatter
というものが用意されています。これは str.format()
と似た使い方ができる独自の文字列フォーマッターを作る際に継承してできるクラスのようです。次のような使い方ができます。
import string
formatter = string.Formatter()
f.format('{0}は口に{1}', '良薬', '苦し')
# => '良薬は口に苦し'
その他には、文字列を大文字にしたり小文字にしたり、小技をこなす関数がたくさん用意されています。
string.capitalize(文字列) # 各単語の先頭を大文字にする
tring.lower(文字列) # すべて小文字にする
string.upper(文字列) # すべて大文字にする
string.join(リスト, セパレータ) # リストを join する
string.strip(文字列) # 先頭と末尾の空白を削除する
string.replace(文字列, 変更したい文字, 変更後の文字) # 置換する
ただ、これらについては str
のメソッドとして同じ名前のものが用意されているため、この用途でわざわざ string
ライブラリを読み込んで使う機会は多くないかと思います。
・・・以上です。
インストール
string
は標準ライブラリに含まれているので、別途インストールする必要はありません。
参考
``