我有一个如下所示的字符串。
runOnUiThread(new Runnable() {
@Override public void run() {
holderProfile.setImageBitmap(image);
}
});
我想将副本替换为一行RegEx中的一个字符,以获得以下结果。
aabbccddee
我可以通过
轻松完成此操作abcde
但这并不像我想要的那样优雅。
答案 0 :(得分:1)
我找到了答案。
input_string = re.sub(ur"([a-z])\1+", r"\1", input_string)
答案 1 :(得分:1)
使用itertools 中的groupby
(几乎从文档中复制/粘贴):
>>> from itertools import groupby
>>> ''.join([k for k, g in groupby('aabbccddee')])
abcde
答案 2 :(得分:0)
你也可以这样做:
string = "aabbccddee"
print("".join(sorted(set(string), key = string.index)))
输出:
abcde
你甚至可以在这里使用OrderedDict
:
from collections import OrderedDict
string = "aabbccddee"
print("".join(OrderedDict.fromkeys(string)))