translateにより文字を別の文字(または文字列)に変換される。translateによる変換は、str.maketransにより作成した変換テーブルに基づいて行われる。
1. 文字列による変換テーブル
translateの書式は以下の通り。
str.translate(table)
文字列strが変換テーブルtableに基づいて変換される。
変換テーブルの作成にはstr.maketransを使う。
str.maketransの書式は以下の通り。
static str.maketrans(x[, y[, z]])
引数xが変換前の文字を結合した文字列、yが変換後の文字を結合した文字列、zは削除する文字を結合した文字列でオプション。xとyの文字列に含まれる文字が順番に一対一で変換される。
'1'→'1'、'2'→'2'・・・と全角を半角に変換し'¥'を削除する例。
table = str.maketrans('1234567890', '1234567890', '¥') print('今日の売り上げは¥45800円でした'.translate(table))
実行結果
今日の売り上げは45800円でした
2. 辞書による変換テーブル
文字列により作成した変換テーブルを用いた場合、1文字→1文字の変換となるが、1文字→文字列の変換をする場合には辞書を使って変換テーブルを作成する。
'巌'→'岩', '忽'→'たちま'と変換する例。
table = str.maketrans({'巌':'岩', '忽':'たちま'}) print('巌穴の一点の光明は忽ち失せて'.translate(table))
実行結果
岩穴の一点の光明はたちまち失せて
translateでは文字列→文字(文字列)の変換はできない。その場合はreplaceを使う。
3. リファレンス
Python 標準ライブラリ > static str.maketrans(x[, y[, z]])
Python 標準ライブラリ > str.translate(table)
使用バージョン:Python 3.8.8
0 件のコメント:
コメントを投稿