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())