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
Python