お困りの方へ
この記事は、文字列の置換について説明します。
複雑な置換をする場合は、正規表現を使える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の仕様書です。