给定字符串
word = "These"
包含元组
pair = ("h", "e")
目的是替换word
除元组以外的所有字符pair
,即输出:
('T', 'he', 's', 'e')
我试过了:
word = 'These'
pair = ('h', 'e')
first, second = pair
pair_str = ''.join(pair)
pair_str = pair_str.replace('\\','\\\\')
pattern = re.compile(r'(?<!\S)' + re.escape(first + ' ' + second) + r'(?!\S)')
new_word = ' '.join(word)
new_word = pattern.sub(pair_str, new_word)
result = tuple(new_word.split())
请注意,有时pair
元组可以包含斜杠、反斜杠或任何其他转义字符,因此上述正则表达式中的替换和转义。
有没有更简单的方法来实现相同的字符串替换?
已编辑
评论中的细节:
当这对中的两个角色都是唯一的和不是时有区别吗?
不,他们应该以同样的方式对待。