4.1 標準モジュール string

 

このモジュールは文字クラスをチェックするために役立ついくつかの定数と有用な文字列関数を定義しています。 正規表現ベースの文字列関数についてはモジュールre を参照して下さい。

このモジュールで定義されている定数:

digits
文字列 '0123456789'

hexdigits
文字列 '0123456789abcdefABCDEF'

letters
以下で述べられている文字列lowercaseuppercaseを連結したもの。

lowercase
小文字だと考えられるすべての文字を含む文字列です。大抵のシステムではこれは 文字列'abcdefghijklmnopqrstuvwxyz'です。この定義を変更しないで下さい、upper()swapcase()に対する影響は不定となります。

octdigits
文字列 '01234567'

uppercase
大文字だと考えられるすべての文字を含む文字列です。大抵のシステムではこれは 文字列'ABCDEFGHIJKLMNOPQRSTUVWXYZ'です。この定義を変更しないで下さい、lower()swapcase()に対する影響は不定となります。

whitespace
空白だと考えられるすべての文字を含む文字列です。大抵のシステムではこれは スペース文字、タブ、ラインフィード、リターン、フォームフィード、垂直タブを含んでいます。この定義を変更しないで下さい、strip()split()に対する影響は不定となります。

このモジュールで定義されている関数:

atof (s)
文字列を浮動小数に変換します。文字列はパイソンの浮動小数リテラルの標準的な文法に合っていなければならず、符号("+" または "-")が先頭に付加してあってもよいです。この機能は組み込み関数 float() に文字列を渡す場合と同じだということに注意して下さい。

atoi (s[, base])
文字列sを与えられたbase(基数)で整数に変換します。 文字列は一つまたはそれ以上の桁の数字でなければならず、符号("+" または "-")が先頭に付加してあってもよいです。 baseのデフォルトは10です。もしそれが0であれば、デフォルトの基数は文字列の先頭の文字(符号を除いた)によって選ばれます。つまり、"0x"または"0X"は16を意味し、"0"は8を意味し、その他は10を意味します。 baseが16ならば先頭の"0x"または"0X"は常に容認されます。 baseなしかbaseが10で呼び出された時は、組み込み関数int()に文字列を渡す場合と同じだということに注意して下さい。 (注:数値リテラルのより柔軟な解釈には、組み込み関数eval() を使って下さい。)

atol (s[, base])
文字列sを与えられたbase(基数)でロング整数に変換します。 文字列は一つまたはそれ以上の桁の数字でなければならず、符号("+" または "-")が先頭に付加してあってもよいです。base引数はatoi()の場合と同じ意味を持ちます。 文字列の最後の"l"または"L"は基数が0の場合を除き許されません。 baseなしかbaseが10で呼び出された時は、組み込み関数long() に文字列を渡す場合と同じだということに注意して下さい。

capitalize (word)
引数の最初の文字を大文字にします。

capwords (s)
引数をsplit()を使って単語に分け、capitalize()を使って個々の単語を大文字で始め、join()を使って大文字化された単語を連結させます。 これは一続きのホワイトスペースを一つの空白に置き換え、前後のホワイトスペースを削除することに注意して下さい。

expandtabs (s, tabsize)
文字列内のタブを展開します。つまり現在のカラムと与えられたタブサイズによってタブを一つまたはそれ以上の空白で置き換えます。 カラム数は文字列内の改行毎にゼロにリセットされます。これは他の印字されない文字またはエスケープシーケンスを解釈しません。

find (s, sub[, start[,end]])
s[start:end]内でsubが完全に含まれるような部分文字列subが見つかったs内の最小のインデックスを返します。 失敗すると-1を返します。 startendのデフォルト値および負の数の解釈はスライスの場合と同じです。

rfind (s, sub[, start[, end]])
find()と同じですが最大のインデックスを探します。

index (s, sub[, start[, end]])
find()と同じですが部分文字列が見つからなかった場合にはValueErrorを発生させます。

rindex (s, sub[, start[, end]])
rfind()と同じですが、部分文字列が見つからなかった場合にはValueErrorを発生させます。

count (s, sub[, start[, end]])
文字列s[start:end]内での 部分文字列subの(重ならない)出現回数を返します。 startendのデフォルト値および負の数の解釈はスライスの場合と同じです。

lower (s)
文字を小文字に変換します。

maketrans (from, to)
translate()またはregex.compile()に渡すにふさわしい変換テーブルを返します。変換テーブルはfrom内の各文字をto内の同じ位置の文字に写像します。fromtoは同じ長さでなければなりません。

split (s[, sep[, maxsplit]])
文字列sの単語のリストを返します。もしオプションの2番目の引数sep が無いまたはNoneの場合、単語は任意のホワイトスペース(スペース、タブ、ニューライン、リターン、フォームフィード)で分けられます。 2番目の引数sepがありNoneでない場合、単語のセパレータとして使われる文字列を指定します。返されるリストはその文字列の内でのセパレータの重ならない出現回数より1つ多いアイテムを持つことになります。 オプションの3番目の引数maxsplitのデフォルトは0です。もし0でなければ、最大maxsplit回の分割が行われ、残った文字列はリストの最後のアイテムとして返されます。(従って、リストは最大maxsplit+1の要素を持つことになります。)

splitfields (s[, sep[, maxsplit]])
この関数はsplit()と同じように機能します。(昔は、split()は1つの引数で、一方splitfields()は2つの引数で使われていました。)

join (words[, sep])
単語のリストまたはタプルをsepを間にはさんで連結します。 sepのデフォルト値は空白1つです。 "string.join(string.split(s, sep), sep)"は常にsに等しくなります。

joinfields (words[, sep])
この関数はjoin()と同じように機能します。(昔は、join()は1つの引数で、一方joinfields()は2つの引数で使われていました。)

lstrip (s)
文字列sから先頭のホワイトスペースを削除します。

rstrip (s)
文字列sから末尾のホワイトスペースを削除します。

strip (s)
文字列sから先頭と末尾のホワイトスペースを削除します。

swapcase (s)
小文字を大文字に、大文字を小文字に変換します。

translate (s, table[, deletechars])
sからdeletechars(もしあれば)内にあるすべての文字を削除します。そしてtableを使って文字を変換します。tableは256文字の文字列でなければならず、個々の文字の値に対する変換を指定します。その文字の値でインデックスされた値に変換されます。

upper (s)
文字を大文字に変換します。

ljust (s, width)
rjust (s, width)
center (s, width)
これらの関数はそれぞれ与えられた幅のフィールド内で文字列を左寄せ、右寄せ、 中央寄せします。 与えられた幅になるまで文字列sに右、左、両側に空白を埋めて作られた 少なくともwidth文字幅の文字列を返します。 文字列は決して切り詰められることはありません。

zfill (s, width)
与えられた幅に達するまで数値文字列に数字ゼロを左側に埋めます。 符号付き文字列は正しく処理されます。

replace (str, old, new[, maxsplit])
部分文字列oldに一致する部分をすべてnewで置き換えた文字列 strのコピーを返します。 オプション引き数のmaxsplitが与えられた場合、最初からmaxsplit回 の一致が置き換えられます。

このモジュールはパイソンで実装されています。 この機能の多くは組み込みモジュールstrop  で再実装されています。 しかし、決してstropモジュールを直接インポートしてはいけません。 stringモジュールはstropが存在していると、 stropからそれに相当する部分を透過的に置き換えます。 初期化の後は、stropではなくstringを使う際のオーバヘッドは ありません

guido@python.org