お困りの方へ
この記事は、文字列の置換について説明します。
複雑な置換をする場合は、正規表現を使えるreモジュールのsub関数を使います。
手軽に置換するなら、文字列.replaceで置換できます。
正規表現を使えるre.sub
正規表現を使って、文字列を置換したいときはre.subです。
old = 'abc123def456'
new = re.sub('[0-9]', '*', old)
print(old)
print(new)
# abc123def456
# abc***def***
# 数字を隠してみる。
old = 'abc123def456'
new = re.sub('[0-9]+', '', old)
print(old)
print(new)
# abc123def456
# abcdef
# 数字を削除する。
re.subの1番目の引数は正規表現のパターンなのですが、正規表現っぽくない使い方もできます。
old = 'abcabcabc'
new = re.sub('b', 'c', old)
print(old)
print(new)
# abcabcabc
# accaccacc
# 正規表現っぽくない使い方もできる。
置換回数を指定できます。
old = 'abcabcabc'
new = re.sub('b', 'c', old, 2)
print(old)
print(new)
# abcabcabc
# accaccabc
# 置換個数を設定できる。
最後に、re.subの仕様書です。
文字列.replace
文字列からスペースを削除したい、みたいな単純な文字列置換には文字列.replaceです。
old = 'abcde'
new = old.replace('b', 'c')
print(old)
print(new)
# abcde
# accde
old = 'abcde'
new = old.replace('bcd', '@')
print(old)
print(new)
# abcde
# a@e
# 複数の文字の変換も可能。
置換だけではなく、削除にも使えます。
old = 'a b c'
new = old.replace(' ', '')
print(old)
print(new)
# a b c
# abc
# 半角スペースの削除。
old = 'あ い う え お'
new = old.replace(' ', '')
print(old)
print(new)
# あ い う え お
# あいうえお
# 全角スペースの削除。
old = 'あ い う え お'
new = old.replace(' ', ' ')
print(old)
print(new)
# あ い う え お
# あ い う え お
# 全角スペースを半角スペースに変換。
置換回数を指定できます。
old = 'aaaaaa'
new = old.replace('a', 'b', 2)
print(old)
print(new)
# aaaaaa
# bbaaaa
# 置換個数を設定できる。
最後に、str.replaceの仕様書です。
