Python | replace()で文字列を指定文字列で置き換える方法

2023-02-23Python 文字列,Python

Python | replace()で文字列を指定文字列で置き換える方法

Pythonのreplace()メソッドを使って文字列を指定文字列で置き換える方法とサンプルコードを紹介しています。

確認環境

Windows11 ローカル
Python python-3.11.1

文字列を指定文字列で全て置き換える

Pythonで文章に含まれる特定の文字列を指定した文字列に置き換えるにはreplace()メソッドが利用可能です。

第一引数に変換前の文字列、第二引数に変換後の文字列を指定します。

str.replace(変換前の文字列, 返還後の文字列)

例えば「Hello World」の「World」を「Again」に変換するには以下のように記述します。

str = 'Hello World World'
new_str = str.replace('World', 'Again', 1)

print(new_str)
# Hello Again

ひとつだけ、または指定回数分を置き換える

また、第三引数には変換する回数を指定可能で、最初の一つ目だけを変換する場合は「1」を指定する事で実装できます。

str = 'Hello World World'
new_str = str.replace('World', 'Again', 1)

print(new_str)
# Hello Again World

複数の置き換えセットを同時に置き換える

複数セットの変換を実行するには、つなげて記述する方法があります。

試したところ、PHPのようにリスト(配列)による置き換えのセット指定はできませんでした。

連続して記述した場合、先に記述されている順に変換されます。

以下のコードでは「Hello」は「Good」になり、「World」は「Again」になります。

str = 'Hello World'
new_str = str.replace('Hello', 'Good').replace('Good', 'Again')

print(new_str)
# Good Again

以下のように先に変換された文字列が次の変換対象に指定されている場合、変換は実行されます。

「Hello」は「Good」になり、その後「Again」になります。

str = 'Hello World'
new_str = str.replace('Hello', 'Good').replace('Good', 'Again')

print(new_str)
# Again World