このモジュールは、文字クラスのチェックに役立つ定数と、文字列を扱う関数を
定義しています。正規表現を使った関数については
re モジュールを参照してください。
このモジュールで定義される定数は以下のとおりです。
- ascii_letters
-
後述の ascii_lowercase とascii_uppercase を合わ
せたもの。この値はロケールに依存しません。
- ascii_lowercase
-
小文字
'abcdefghijklmnopqrstuvwxyz'
。この値はロケールに依存せ
ず、変更されません。
- ascii_uppercase
-
大文字
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
。この値はロケールに依存せ
ず、変更されません。
- digits
-
文字列
'0123456789'
。
- hexdigits
-
文字列
'0123456789abcdefABCDEF'
。
- letters
-
後述の lowercase と uppercase を合わせた文字列。
具体的な値はロケールに依存し、locale.setlocale() が呼ばれたと
きに更新されます。
- lowercase
-
小文字として扱われる文字全てを含む文字列。 ほとんどのシステムにおいて、
これは文字列
'abcdefghijklmnopqrstuvwxyz'
です。 この定義を
変更してはいけません -- upper() と swapcase()
に対する影響が定義されていないからです。具体的な値はロケールに依存し、
locale.setlocale() が呼ばれたときに更新されます。
- octdigits
-
文字列
'01234567'
。
- punctuation
-
"C" ロケールにおいて、句読点として扱われる ASCII 文字の文字列。
- printable
-
印刷可能な文字で構成される文字列。これは digits、
letters、punctuation、whitespace を組
み合わせたもの。
- uppercase
-
大文字として扱われる文字全てを含む文字列。 ほとんどのシステムにおいて、
'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
です。 この定義を変更してはいけま
せん -- lower() と swapcase() に対する影響が
定義されていないからです。 具体的な値はロケールに依存し、
locale.setlocale() が呼ばれたと きに更新されます。
- whitespace
-
空白扱いの文字全てを含む文字列。ほとんどのシステムにおいて、これはスペ
ース、タブ、改行、リターン、改頁、垂直タブです。この定義を変更しないこ
と -- strip() と split() に対する影響が定義され
ていないからです。
このモジュールで提供されるほとんどの関数は、string オブジェクトと
Unicode オブジェクトのメソッドでも定義されています。詳細は ``String メソ
ッド'' (2.3.6 ) を参照のこと。このモジュールで定義される
関数は以下のとおりです。
-
リリース 2.0 以降で撤廃された仕様です。
組み込み関数 float() を使いましょう。
文
字列を浮動 小数点型の数値に変換します。文字列は Python の浮動小数点リ
テ ラルの文法に 従っている必要があります。先頭に符号("+" また
は "-")が付く のは構いません。この関数は、組み込み関数
float() に文字列が渡された場合と同じよう
にふるまいます。
注意:
文字列が渡されたとき、内在する C ライブラリによって
NaN や Infinity が返されることがあります。
これ らの値に変換される文字列がどれであるかは、完全に C ライブラリに
依存す るので、ライブラリによって異なることが知られています。
-
リリース 2.0 以降で撤廃された仕様です。
組み込み関数 int() を使いましょう。
文字
列 s を、base を基数とする整数に変換します。 文字列は1
桁以上の 数字で構成されている必要があります。先頭に符号("+" ま
たは "-") が付くのは構いません。base のデフォルト値は 10。
これが 0 の場合 は、(符号を省いた後の)先頭文字によってデフォルト値
が決定します。 "0x" か "0X" なら 16、"0" なら 8、その
他の場合は 10 が 基数になります。 base が 16 の場合、先頭の
"0x" や "0X" は常に受け付け られますが、必須ではありません。
この関数は、組み込み関数 int() に 文字列が渡されたときと同
じようにふるまいます。(注意: より柔軟な数値リテラ ル解釈が必要であれ
ば、組み込み関数 eval() を使いましょう)
-
リリース 2.0 以降で撤廃された仕様です。
組み込み関数 long() を使ういましょう。
文字列 s を、 base を基数とする long 整数に変換します。
文字列は1桁以 上の数字で構成されている必要があります。先頭に符号(
"+" または "-")が付くのは構いません。 引数 base は
atoi() の 場合と同じ意味。 基数が 0 の場合を除いて、文字
列末尾の "l" や "L" は認めらません。base が与えられ
ないときと、この値に 10 が指定されたとき、この関数は組み込み関数
long() に文字列が渡されたときと同じように
ふるまいます。
-
先頭文字だけ大文字にした word のコピーを返します。
-
引数で与えられた文字列をsplit() で単語に分割し、
capitalize() で各単語の先頭文字を大文字化し、それを
join() で連結します。 この関数は連続した空白文字を、スペー
ス1つに置換し、先頭と末尾の空白を削除することに注意しましょう。
expandtabs( |
s[, tabsize]) |
-
タブを展開、すなわちタブを1つ以上のスペースに置換します。スペースの
個数は現在のコラム位置とタブ幅によって決定されます。コラム位置は文字列
中 に改行が出現する度に、0 にリセットされます。この関数は、改行以外の
非表 示文字やエスケープシーケンスを理解しません。タブ幅のデフォルト値
は 8 です。
find( |
s, sub[, start[,end]]) |
-
s[start:end]
の中で、部分文字列 sub が
完全に含まれるもののうち、最初に見つかった位置を s のインデック
スで返す。見つからなかった場合は -1
を返す。 start と
end のデフォルト値、および、負数が与えられた場合の 解釈はスライ
スと同じ。
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 が
(重ならずに)出現する回数を返します。start と end のデフォ
ルト値、および、負数が与えられた場合の 解釈はスライスと同じです。
-
大文字を小文字に変換した、s のコピーを返します。
-
translate() と regex.compile() に渡して、
from に含まれる各文字を、to の同じ位置にある文字に置換する
ような変換テーブルを返します。from と to は同じ長さでな
ければいけません。
警告:
lowercase と uppercase から得られる文字
列を、引数にしてはいけません。ロケールによっては、これらは長さが異なる。
大文字小文字の変換には、常に lower() と upper()
を使いましょう。
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つの場合でのみ使われていました)。
-
単語のリストまたはタプルの要素を、sep を間に入れて連結します。
sep のデフォルト値はスペース1個。
"string.join(string.split(s, sep), sep)" は、常
に s です。
joinfields( |
words[, sep]) |
-
この関数は join() と同じふるまいをします(昔は、
join() は引数1つの場合でのみ使われ、joinfields()
は引数2つの場合でのみ使われていました)。 オブジェクトには
joinfields() メソッドがないことに注意してください。
join() メソッドを使いましょう。
-
先頭の文字を取り除いた文字列のコピーを返します。chars が与えられない場合や、chars の値が
None
の場合、先頭の空白を取り除きます。chars が与えられ、その値が None
でない場合、このメソッドを呼んだ文字列から、chars に含まれる文字を取り除きます。 chars は文字列でなくてはいけません。
バージョン2.2.3 以降で変更された 仕様:
chars パラメータを追加。 初期の 2.2 バージョンでは、versionschars パラメータを渡せない
-
末尾の文字を取り除いた文字列のコピーを返します。chars が与えられない場合や、chars の値が
None
の場合、末尾の空白を取り除きます。chars が与えられ、その値が None
でない場合、このメソッドを呼んだ文字列から、chars に含まれる文字を取り除きます。 chars は文字列でなくてはいけません。
バージョン2.2.3 以降で変更された 仕様:
chars パラメータを追加。 初期の 2.2 バージョンでは、versionschars パラメータを渡せない
-
先頭と末尾の文字を取り除いた文字列のコピーを返します。chars が与えられない場合や、chars の値が
None
の場合、先頭と末尾の空白を取り除きます。chars が与えられ、その値が None
でない場合、このメソッドを呼んだ文字列から、chars に含まれる文字を取り除きます。 chars は文字列でなくてはいけません。
バージョン2.2.3 以降で変更された 仕様:
chars パラメータを追加。 初期の 2.2 バージョンでは、versionschars パラメータを渡せない
-
s の大文字と小文字を入れ替えたものを返します。
translate( |
s, table[, deletechars]) |
-
s の中から、(もし指定されていれば)deletechars に含まれる
文字を削除し、table を使って文字を入れ替えたものを返します。
table は 256 文字からなる文字列で、各文字の位置が、置換前の文字
コードに対応します。
-
s に含まれる小文字を大文字に置換して返します。
-
- これらの関数は、与えられた文字列幅の中で、それぞれ左寄せ、右寄せ、中央
寄せします。これらが返す文字列は、少なくとも width 文字分の長さが
あり、s の右側、左側、または両側がスペースで埋まっている。文字列
が切られることはない。
-
数値文字列の左側を、与えられた幅に達するまで 0 で埋めます。符号で始まる
場合も、正しく処理されます。
replace( |
str, old, new[, maxreplace]) |
-
s 内の部分文字列 old を全て new に置換したものを返し
ます。 maxreplace が指定された場合、最初に見つかった maxreplace
個分だけ置換します。
Release 2.3.5, documentation updated on 平成17年10月12日.
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。