如何删除单词的最后一个重复字母

2024-10-02 06:34:57 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用python正则表达式将heyyyy转换为hey? 这就是我目前得到的

line="heyyy hoooow are you"
word_normalize=compile(r'(\w)\1+')
word_normalize.sub(r'\1\1',line)

打印hey how are you

我要打印:你是

我只想把结尾的字母缩短,不想把其他部分缩短。你知道吗

如果我想要这样的东西呢 hey hoow are you i、 e结尾字符不重复,其他字符最多重复2次。你知道吗


Tags: you结尾字母line字符arehowword
1条回答
网友
1楼 · 发布于 2024-10-02 06:34:57

使用\b强制匹配在单词的末尾。你知道吗

>>> re.sub(r'(\w)\1+\b', r'\1', line)
'hey hoooow are you'

要使内部字母最多重复两次,请使用\B(与\b相反)添加另一个替换:

>>> re.sub(r'(\w)\1+\B', r'\1\1', re.sub(r'(\w)\1+\b', r'\1', line))
'hey hoow are you'

相关问题 更多 >

    热门问题