Python - 文字列を置換する

文字列を指定して置換: replace()

文字列を指定して置換する場合は replace() 関数を使います。第一引数に置換元文字列、第二引数に置換先文字列を指定します。

s = 'one two one two one'

print(s.replace(' ', '-'))
# one-two-one-two-one
文字列を指定して置換: replace()

第三引数 count を含めると、最大置換回数を指定できます。最大置換回数を超える場合、後続の置換対象文字は置換されません。

s = 'one two one two one'

print(s.replace('one', 'XXX'))
# XXX two XXX two XXX

print(s.replace('one', 'XXX', 2))
# XXX two XXX two one
文字列を指定して置換: replace()

正規表現で置換: re.sub()

re.sub() 関数では第一引数に正規表現のパターン、第二引数に置換先文字列、第三引数に処理対象の文字列を指定します。re.sub() 関数は、標準ライブラリの re モジュールを import して使います。

import re
 
text = "abc123def456efg"

result = re.sub(r'[a-z]+', "0", text)
 
print(result) # 012304560
正規表現で置換: re.sub()

replace() 関数と同じく第四引数 count に最大置換回数を指定できます。

import re
 
text = "abc123def456efg"

print(re.sub(r'[a-z]+', "0", text, 2))
# 01230456efg
正規表現で置換: re.sub()

関連記事