Python: 文字列を置換する replace()

Pythonで文字列を置換する場合は replace()メソッドを使います。 replace()メソッドは文字列処理の中でも使用頻度の高いメソッドです。

replace()の書式

書式
文字列.replace(old, new[, count])

old を new に置換します。count は置換する回数です。
count が指定されていない場合は該当する文字列を全て置換します。
戻り値は置換後の文字列です。

s = "abc abc abc"

s = s.replace("a", "x")

print(s) # xbc xbc xbc

置換回数を指定する

置換回数を指定する場合は第3引数で指定します。 次のサンプルコードでは置換回数に「2」を指定しているため、 3つめの「a」は変換されません。

s = "abc abc abc"

s = s.replace("a", "x", 2)

print(s) # xbc xbc abc

特定の文字列を削除する

replace()メソッドは特定の文字列を削除する際にも使えます。 その場合は第2引数(new)に「""」空文字を指定します。
例えば、文字列中の改行コード「\n」を削除したい場合は 第1引数(old)に「"\n"」、第2引数に「""」空文字を指定します。

# 改行を削除
s = s.replace("\n", "")

replace()を使った文字列の削除は良く使われる手法です。

正規表現で置換したい場合

str型オブジェクトのreplace()メソッドでは、 正規表現を使った置換はできません。
正規表現で置換する場合は reモジュールのsubメソッドを使用します。

次の記事を参考にしてください。
(関連記事:正規表現で文字列を置換する re.sub()

Python