Python: 正規表現で文字列を置換する re.sub()
正規表現による置換 re.sub()
Pythonで正規表現による置換処理を行う場合は、 reモジュールの sub() 関数を使います。
書式
sub(パターン, 置換後文字列, 検索対象文字列, count=0, flags=0)
戻り値は置換された後の文字列です。
countを省略するか「0」を指定した場合は、マッチしたすべてが置換されます。
次のコードは、パターン「c.t」にマッチする文字列を「xxx」に置換します。
import re p = "c.t" s = "cat hat cut hit cup" s_new = re.sub(p, "xxx", s) print(s_new) # xxx hat xxx hit cup
re.sub()で改行コードを削除
次は re.sub()を使って改行コードを削除するコードです。 置換後の文字列に「""」空文字を指定することで、削除になります。
改行コードは「\r\n」「\n」のどちらにも対応できるように、 パターンを「\r?\n」とします。
import re # パターン p = "\r?\n" s = "a\nbcd\r\nefg\r\nhi\njkl" s_new = re.sub(p, "", s) print(s_new) # abcdefghijkl