Python Stringモジュール

PythonのStringモジュールには、いくつかの定数、ユーティリティ関数、および文字列操作のためのクラスが含まれています。

Python Stringモジュール

これは組み込みモジュールであり、その定数やクラスを使用する前にインポートする必要があります。

Stringモジュールの定数

Stringモジュールで定義されている定数を見てみましょう。

import string

# stringモジュールの定数
print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.digits)
print(string.hexdigits)
print(string.whitespace)  # ' \t\n\r\x0b\x0c'
print(string.punctuation)

出力:

abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
 	

!"#$%&'()*+,-./:;?@[\]^_`{|}~

string capwords()関数

Pythonの文字列モジュールには、1つのユーティリティ関数が含まれています – capwords(s、sep=None)。この関数は、指定された文字列を str.split() を使用して単語に分割します。それから、各単語を str.capitalize() 関数を使用して大文字にします。最後に、大文字にした単語を str.join() を使用して結合します。オプションの引数 sep が提供されないか None の場合、先頭および末尾の空白が削除され、単語は単一の空白で区切られます。提供された場合、セパレータは単語を分割および結合するために使用されます。

s = '  Welcome TO  \n\n JournalDev '
print(string.capwords(s))

出力:Welcome To Journaldev

Python文字列モジュールクラス

Pythonの文字列モジュールには、FormatterとTemplateという2つのクラスが含まれています。

Formatter

これは、str.format() 関数とまったく同じように振る舞います。このクラスは、サブクラス化して独自の書式文字列構文を定義したい場合に便利です。Formatterクラスの使用例を見てみましょう。

from string import Formatter

formatter = Formatter()
print(formatter.format('{website}', website='JournalDev'))
print(formatter.format('{} {website}', 'Welcome to', website='JournalDev'))

# format()は同様の方法で動作します
print('{} {website}'.format('Welcome to', website='JournalDev'))

出力:

Welcome to JournalDev
Welcome to JournalDev

テンプレート

このクラスは、PEP 292で説明されているように、より単純な文字列の置換のための文字列テンプレートを作成するために使用されます。複雑な書式設定ルールが不要なアプリケーションで国際化(i18n)を実装する際に便利です。

from string import Template

t = Template('$name is the $title of $company')
s = t.substitute(name='Pankaj', title='Founder', company='JournalDev.')
print(s)

出力: PankajはJournalDevの創設者です。

完全なPythonスクリプトやその他のPythonの例は、GitHubリポジトリからチェックアウトできます。

参照:公式ドキュメント

Source:
https://www.digitalocean.com/community/tutorials/python-string-module