如果单词中的前两个字母用相同的字母重复,如何替换?
例如,
${Number}= Run Keyword Evaluate $First * $Second + $Third
我想要
string = 'hhappy'
我试过
happy
但是,这给出了
re.sub(r'(.)\1+', r'\1', string)
谢谢!
答案 0 :(得分:5)
您需要添加caret (^
)以仅匹配该行的开头。
re.sub(r'^(.)\1+', r'\1', string)
示例:
import re
string = 'hhappy'
print re.sub(r'^(.)\1+', r'\1', string)
打印:
happy
以上仅适用于该行的开头。如果您需要为每个单词执行此操作,则需要执行此操作:
re.sub(r'\b(\w)\1+', r'\1', string)
答案 1 :(得分:1)
答案 2 :(得分:1)
或者你可以简单地切片:
string = 'hhappy'
func = lambda s: s[1:] if s[0] == s[1] else s
new_string = func(string)
# happy