【发布时间】:2011-06-02 06:00:04
【问题描述】:
假设我想使用正则表达式删除字符串中的所有重复字符(特定字符的)。这很简单 -
import re
re.sub("a*", "a", "aaaa") # gives 'a'
如果我想用相应的字符替换所有重复的字符(即 a、z)怎么办?我该怎么做?
import re
re.sub('[a-z]*', <what_to_put_here>, 'aabb') # should give 'ab'
re.sub('[a-z]*', <what_to_put_here>, 'abbccddeeffgg') # should give 'abcdefg'
注意:我知道这种删除重复的方法可以通过哈希表或一些 O(n^2) 算法更好地解决,但我想使用正则表达式来探索这一点
【问题讨论】: