3.6.1 文字列メソッド

以下は 8 ビット文字列および Unicode オブジェクトでサポートされる メソッドです:

capitalize( )
最初の文字を大文字にした文字列のコピーを返します。

8ビット文字列では、メソッドはロケール依存になります。

center( width[, fillchar])
width の長さをもつ中央寄せされた文字列を返します。パディングには fillchar で指定された値(デフォルトではスペース)が使われます。 バージョン 2.4 で 変更 された仕様: 引数 fillchar に対応

count( sub[, start[, end]])
文字列 S[start:end] 中に部分文字列 sub が出現する回数を返します。オプション引数 start および end はスライス表記と同じように解釈されます。

decode( [encoding[, errors]])
codec に登録された文字コード系 encoding を使って文字列をデコード します。encoding は標準でデフォルトの文字列エンコーディング になります。標準とは異なるエラー処理を行うために errors を 与えることができます。標準のエラー処理は 'strict' で、エンコード に関するエラーは UnicodeError を送出します。 他に利用できる値は 'ignore''replace' および 関数 codecs.register_error によって登録された名前です。 これについてはセクション 4.8.1節を参照してください。 バージョン 2.2 で 新たに追加 された仕様です。 バージョン 2.3 で 変更 された仕様: その他のエラーハンドリングスキーマがサポートされました

encode( [encoding[,errors]])
文字列のエンコードされたバージョンを返します。標準のエンコーディング は現在のデフォルト文字列エンコーディングです。 標準とは異なるエラー処理を行うために errors を 与えることができます。標準のエラー処理は 'strict' で、エンコード に関するエラーは UnicodeError を送出します。 他に利用できる値は 'ignore''replace''xmlcharrefreplace''backslashreplace' および 関数 codecs.register_error によって登録された名前です。 これについてはセクション 4.8.1を参照してください。 利用可能なエンコーディングの一覧は、セクション 4.8.3 を参照してください。

バージョン 2.0 で 新たに追加 された仕様です。 バージョン 2.3 で 変更 された仕様: 'xmlcharrefreplace''backslashreplace' およびその他のエラーハンドリングスキーマがサポートされました

endswith( suffix[, start[, end]])
文字列の一部が suffix で終わるときに True を返します。そう でない場合 False を返します。suffix は見つけたい複数の接尾語 のタプルでも構いません。オプション引数 start がある場 合、文字列の start から比較を始めます。end がある場合、文字 列の end で比較を終えます。

バージョン 2.5 で 変更 された仕様: suffix でタプルを受け付けるようになりました

expandtabs( [tabsize])
全てのタブ文字が空白で展開された文字列のコピーを返します。 tabsize が与えられていない場合、タブ幅は 8 文字分 と仮定します。

find( sub[, start[, end]])
文字列中の領域 [start, end] に sub が含まれる場合、 その最小のインデクスを返します。 オプション引数 start および end はスライス表記と 同様に解釈されます。sub が見つからなかった場合 -1 を返します。

index( sub[, start[, end]])
find() と同様ですが、sub が見つからなかった場合 ValueError を送出します。

isalnum( )
文字列中の全ての文字が英数文字で、かつ 1 文字以上ある場合には真を返し、 そうでない場合は偽を返します。

8ビット文字列では、メソッドはロケール依存になります。

isalpha( )
文字列中の全ての文字が英文字で、かつ 1 文字以上ある場合には真を返し、 そうでない場合はを返します。

8ビット文字列では、メソッドはロケール依存になります。

isdigit( )
文字列中に数字しかない場合には真を返し、その他の場合は偽を返します。

8ビット文字列では、メソッドはロケール依存になります。

islower( )
文字列中の大小文字の区別のある文字全てが小文字で、かつ 1 文字以上 ある場合には真を返し、そうでない場合は偽を返します。

8ビット文字列では、メソッドはロケール依存になります。

isspace( )
文字列が空白文字だけからなり、かつ 1 文字以上ある場合には真を返し、 そうでない場合は偽を返します。

8ビット文字列では、メソッドはロケール依存になります。

istitle( )
文字列がタイトルケース文字列であり、かつ 1 文字以上ある場合、 例えば大文字は大小文字の区別のない文字の後にのみ続き、 小文字は大小文字の区別のある文字の後ろにのみ続く場合には真を返します。 そうでない場合は偽を返します。

8ビット文字列では、メソッドはロケール依存になります。

isupper( )
文字列中の大小文字の区別のある文字全てが大文字で、かつ 1 文字以上 ある場合には真を返し、そうでない場合は偽を返します。

8ビット文字列では、メソッドはロケール依存になります。

join( seq)
シーケンス seq 中の文字列を結合した文字列を返します。文字列を 結合するときの区切り文字は、このメソッドを適用する対象の文字列に なります。

ljust( width[, fillchar])
width の長さをもつ左寄せした文字列を返します。 パディングには fillchar で指定された文字(デフォルトではスペース) が使われます。widthlen(s) よりも小さい場合、元の文字列が返されます。 バージョン 2.4 で 変更 された仕様: 引数 fillchar が追加されました

lower( )
文字列をコピーし、小文字に変換して返します。

8ビット文字列では、メソッドはロケール依存になります。

lstrip( [chars])
文字列の先頭部分を除去したコピーを返します。 引数 chars は除去される文字集合を指定する文字列です。 chars が省略されるか None の場合、空白文字が 除去されます。chars 文字列は接頭語ではなく、そこに 含まれる文字の組み合わせ全てがはぎ取られます。
    >>> '   spacious   '.lstrip()
    'spacious   '
    >>> 'www.example.com'.lstrip('cmowz.')
    'example.com'
バージョン 2.2.2 で 変更 された仕様: 引数 chars をサポートしました

partition( sep)
文字列を sep の最初の出現位置で区切り、3要素のタプルを返します。 タプルの内容は、区切りの前の部分、区切り文字列そのもの、そして区切りの後ろの部分です。 もし区切れなければ、タプルには元の文字列そのものとその後ろに二つの空文字列が入ります。 バージョン 2.5 で 新たに追加 された仕様です。

replace( old, new[, count])
文字列をコピーし、部分文字列 old のある部分全てを new に置換して返します。オプション引数 count が与えられて いる場合、先頭から count 個の old だけを置換します。

rfind( sub [,start [,end]])
文字列中の領域 [start, end) に sub が含まれる場合、 その最大のインデクスを返します。 オプション引数 start および end はスライス表記と 同様に解釈されます。sub が見つからなかった場合 -1 を返します。

rindex( sub[, start[, end]])
find() と同様ですが、sub が見つからなかった場合 ValueError を送出します。

rjust( width[, fillchar])
width の長さをもつ右寄せした文字列を返します。 パディングには fillchar で指定された文字(デフォルトではスペース) が使われます。widthlen(s) よりも小さい場合、元の文字列が返されます。 バージョン 2.4 で 変更 された仕様: 引数 fillchar が追加されました

rpartition( sep)
文字列を sep の最後の出現位置で区切り、3要素のタプルを返します。 タプルの内容は、区切りの前の部分、区切り文字列そのもの、そして区切りの後ろの部分です。 もし区切れなければ、タプルには二つの空文字列とその後ろに元の文字列そのものが入ります。 バージョン 2.5 で 新たに追加 された仕様です。

rsplit( [sep [,maxsplit]])
sep を区切り文字とした、文字列中の単語のリストを返します。 maxsplit が与えられた場合、最大で maxsplit 個になるように 分割が行なわれます、最も右側 (の単語)は1つになります。 sep が指定されていない、あるいは Noneのとき、全ての 空白文字が区切り文字となります。右から分割していくことを除けば、 rsplit() は後ほど詳しく述べる split() と同様に振る舞います。 バージョン 2.4 で 新たに追加 された仕様です。

rstrip( [chars])
文字列の末尾部分を除去したコピーを返します。 引数 chars は除去される文字集合を指定する文字列です。 chars が省略されるか None の場合、空白文字が 除去されます。chars 文字列は接尾語ではなく、そこに 含まれる文字の組み合わせ全てがはぎ取られます。
    >>> '   spacious   '.rstrip()
    '   spacious'
    >>> 'mississippi'.rstrip('ipz')
    'mississ'
バージョン 2.2.2 で 変更 された仕様: 引数 chars をサポートしました

split( [sep [,maxsplit]])
sep を単語の境界として文字列を単語に分割し、分割された単語 からなるリストを返します。 (したがって返されるリストはmaxsplit+1 の要素を持ちます) maxsplit が与えられていない場合、無制限に分割が行なわれます (全ての可能な分割が行なわれる)。連続した区切り文字はグループ化されず、 空の文字列を区切っていると判断されます(例えば "'1,,2'.split(',')" は "['1', '', '2']" を返します)。引数 sep は複数の文字にも できます(例えば "'1, 2, 3'.split(', ')" は "['1', '2', '3']" を返します)。区切り文字を指定して空の文字列を 分割すると、"['']" を返します。

sep が指定されていないか None が指定されている場合、異なる分割 アルゴリズムが適用されます。最初に空白文字(スペース、タブ、改行(newline)、 復帰(return)、改ページ(formfeed)) が文字列の両端から除去されます。 次に任意の長さの空白文字列によって単語に分割されます。 連続した空白の区切り文字は単一の区切り文字として扱われます ("'1 2 3'.split()" は "['1', '2', '3']" を返します)。 空の文字列や空白文字だけから成る文字列を分割する場合には空のリストを返します。

splitlines( [keepends])
文字列を改行部分で分解し、各行からなるリストを返します。 keepends が与えられていて、かつその値が真でない限り、 返されるリストには改行文字は含まれません。

8ビット文字列では、メソッドはロケール依存になります。

startswith( prefix[, start[, end]])
文字列の一部が prefix で始まるときに True を返します。そう でない場合 False を返します。prefix は複数の接頭語の タプルにしても構いません。オプション引数 start がある場 合、文字列の start から比較を始めます。end がある場合、文字 列の end で比較を終えます。

バージョン 2.5 で 変更 された仕様: prefix でタプルを受け付けるようになりました

strip( [chars])
文字列の先頭および末尾部分を除去したコピーを返します。 引数 chars は除去される文字集合を指定する文字列です。 chars が省略されるか None の場合、空白文字が 除去されます。chars 文字列は接頭語でも接尾語でもなく、 そこに含まれる文字の組み合わせ全てがはぎ取られます。
    >>> '   spacious   '.strip()
    'spacious'
    >>> 'www.example.com'.strip('cmowz.')
    'example'
バージョン 2.2.2 で 変更 された仕様: 引数 chars をサポートしました

swapcase( )
文字列をコピーし、大文字は小文字に、小文字は大文字に変換して返します。

title( )
文字列をタイトルケースにして返します: 大文字から始まり、残りの 文字のうち大小文字の区別があるものは全て小文字にします。

translate( table[, deletechars])
文字列をコピーし、オプション引数の文字列 deletechars の中に 含まれる文字を全て除去します。その後、残った文字を変換テーブル table に従ってマップして返します。変換テーブルは長さ 256 の文字列でなければなりません。

Unicode オブジェクトの場合、translate() メソッドはオプションの deletechars 引数を受理しません。その代わり、メソッドは すべての文字が与えられた変換テーブルで対応付けされている s の コピーを返します。この変換テーブルは Unicode 順 (ordinal) から Unicode 順、Unicode 文字列、または None への対応付け でなくてはなりません。対応付けされていない文字は何もせず放置されます。 None に対応付けられた文字は削除されます。ちなみに、 より柔軟性のあるアプローチは、自作の文字対応付けを行う codec を codecs モジュールを使って作成することです (例えば encodings.cp1251 を参照してください。

upper( )
文字列をコピーし、大文字に変換して返します。

8ビット文字列では、メソッドはロケール依存になります。

zfill( width)
数値文字列の左側をゼロ詰めし、幅 width にして返します。 widthlen(s) よりも短い場合もとの文字列自体が 返されます。 バージョン 2.2.2 で 新たに追加 された仕様です。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。