pythonあるある:replace無限増殖

最初からそうしとけ、つぅ話。

楽なのでついつい replace から始めてしまう:

1 >>> "a\\b\\c\\d".replace("\\", ".")
2 'a.b.c.d'

大抵こうなる:

1 >>> "a\\b\\c/d".replace("\\", ".").replace("/", ".")
2 'a.b.c.d'

だったらこうだろ、っと:

1 >>> import re
2 >>> re.sub(r"[/\\]", r".", "a\\b\\c/d")
3 'a.b.c.d'
1 >>> import re
2 >>> RGX = re.compile(r"[/\\]")
3 >>> RGX.sub(r".", "a\\b\\c/d")
4 'a.b.c.d'