文字列中の複数の文字・文字列を置き換える方法を示します。
複数の文字を置き換える
“abcde”の「”a”, “c”, “e”」を「”A”, “C”, “E”」に置き換えるコードです。
s = "abcde" old = "ace" new = "ACE" for c1, c2 in zip(old, new): s = s.replace(c1, c2) print(s) """出力 AbCdE """
- for c1, c2 in zip(old, new):
- zip(old, new)により、「(a, A), (c, C), (e, E)」を要素とするタプルのイテレータを返します。
- c1, c2により、タプルのアンパックを行い、c1にaがc2にAが代入されます。イテレータの別の要素についても同様です。
- s = s.replace(c1, c2)
- sの中のc1をc2で置き換えた文字列を返します。
複数の文字列を置き換える
“abc-def-ghi”の「”abc”, “def”, “ghi”」を置き換えるコードです。
s = "abc-def-ghi" old = ["abc", "def", "ghi"] new = ["AB", "DE", "GH"] for x, y in zip(old, new): s = s.replace(x, y) print(s) """出力 AB-DE-GH """
複数の文字を置き換えるとほぼ同じ処理をしているので、説明は省略します。
コメント