Python String replace based on chars NOT in RegEx
是否可以创建一个reqex,找到NOT不是特定集的字符?
而不是将一堆字符列入黑名单并替换它们,我会更容易允许某个集合并替换不在该集合中的字符。
我的设置如下:
[.A-ZA-Z0-9]
我想做这样的事情:
1 | clean_filename = re.sub(r'([.a-zA-Z0-9])',"_", filename) |
显然这段代码会替换我想要保留的字符,有没有办法替换那组中的字符?
是的,使用
1 | clean_filename = re.sub(r'[^.a-zA-Z0-9]',"_", filename) |
试试:
1 | re.sub(r'[^a-zA-Z0-9]',"_", filename) |