我在python中有这个字符串
a = "haha"
result = "hh"
我想要实现的是使用正则表达式将所有出现的“aha”替换为“h”,将所有“oho”替换为“h”,将所有“ehe”替换为“h”
“h”只是一个例子。基本上,我想保留中心角色。换句话说,如果它的'eae'我希望它被改为'a'
我的正则表达式就是这个
"aha|oho|ehe"
我想过这样做
import re
reg = re.compile('aha|oho|ehe')
但是,如果不使用循环迭代所有可能的组合,我仍然坚持如何实现这种替换?
答案 0 :(得分:2)
您可以使用re.sub
:
import re
print re.sub('aha|oho|ehe', 'h', 'haha') # hh
print re.sub('aha|oho|ehe', 'h', 'hoho') # hh
print re.sub('aha|oho|ehe', 'h', 'hehe') # hh
print re.sub('aha|oho|ehe', 'h', 'hehehahoho') # hhhahh
答案 1 :(得分:1)
re.sub(r'[aeo]h[aeo]','h',a)
怎么样?