文字列の置換を行う場合には、
文字列str
のreplace()
メソッドを利用する。
まずは基本的な使い方から説明します。
replace('【置換前文字列】', '【置換後文字列】')
で、
「置換前文字列」を「置換後文字列」に置き換えることができます。
具体的なソースを元に説明します。
# 文字列の定義
example_str = "aaa bbb ccc"
# 文字列を置換して表示
print(example_str.replace('aaa', 'ddd'))
# 元の文字列を表示
print(example_str)
これを実行すると、
1つ目のprint
行では「example_str」内の「aaa」という文字列が「ddd」に置換され、
ddd bbb ccc
と表示されます。
なお、元の文字列自体が置換されて変更されるわけではないので、
2つ目のprint
行ではaaa bbb ccc
と表示されます。
続いて置換回数を指定する使い方について説明します。
replace('【置換前文字列】', '【置換後文字列】', '【最大置換回数】')
で、
「置換前文字列」を「置換後文字列」に、【最大置換回数】だけ置き換えることができます。
具体的なソースを元に説明します。
# 文字列の定義
example_str = "aaa bbb ccc"
# 文字列を置換して表示
print(example_str.replace('a', 'd', 2))
これを実行すると、
print
行では「example_str」内の「a」という文字が「d」に置換されていきますが、
最大置換回数が「2」と指定されているため
dda bbb ccc
と表示されます。
さらに複数文字を置換する使い方について説明します。
replace()
メソッドにはそのような機能は無いため、
replace()
メソッドを繰り返し適用することで実現する。
具体的なソースを元に説明します。
# 文字列の定義
example_str = "aaa bbb ccc"
# 文字列を置換して表示
print(example_str.replace('a', 'd').replace('b', 'e').replace('c', 'f'))
これを実行すると、
print
行では「example_str」内の
「a」という文字が「d」に、
「b」という文字が「e」に、
「c」という文字が「f」に
それぞれ置換されて、
ddd eee fff
と表示されます。
文字列の置換には、正規表現も使えるsub()
関数も用意されています。
https://docs.python.org/ja/3/library/re.html#re.sub