3

たとえば、この文字列がある場合、重複した文字を特定の数に減らす方法はありますか。

"I liiiiked it, thaaaaaaank you"

期待される出力:"I liiiiked it thaaaank you"

したがって、たとえば、重複した文字が 4 を超える場合は、4 文字だけに減らす必要があり、4 以下の場合、単語は同じままにする必要があります。

4

3 に答える 3

1

最善の解決策ではありません-正規表現を修正する必要があります...私は思う

import re

def rep(o):
    g = o.group(0)
    if len(g) > 4:
        return g[0:3]
    return g

foo = 'iiiiiiii liiiiiiikkkkkkkkkeeeee fooooooddd'
foo1 = re.sub(r'(\w)\1+', rep, foo)

# iiii liiiikkkkeeee fooooddd

気が向いたら、おそらくこれをいじり始めることができます。

于 2013-07-17T02:31:01.777 に答える