如何使用python regex将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
即结尾字符不重复,其他字符最多重复2次。
最佳答案
使用\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'
关于python - 如何删除单词的最后一个重复字母,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13889903/