替换字符串之间的字符

时间:2016-10-31 22:26:19

标签: python string function replace

我正在尝试用Python创建一个可以创建混合动物的代码:

  

杂交('山羊'绵羊')   ' geep',' shoat'   杂交('蟹'鱼')   (' crish',' fab')

但我不知道如何改变这些词之间的辅音。

1 个答案:

答案 0 :(得分:0)

这可以使用正则表达式来实现:[aeiou][a-z]+与第一个n个连续辅音之后的动物单词的末尾匹配。 ^((?![aeiou][a-z]+).)+使用否定超前匹配匹配动物单词开头的前n个连续辅音。

import re

def hybrize(a1, a2):
    ending = "[aeiou][a-z]+"
    s_ = f"{ending}"
    e_ = f"^((?!{ending}).)+"

    a1_s_ = re.sub(s_, "", a1)
    a1_e_ = re.sub(e_, "", a1)
    a2_s_ = re.sub(s_, "", a2)
    a2_e_ = re.sub(e_, "", a2)

    return a1_s_ + a2_e_, a2_s_ + a1_e_

print(hybrize("goat", "sheep"))
print(hybrize("sheep", "goat"))
print(hybrize("crab", "fish"))
print(hybrize("fish", "crab"))

输出:

('geep', 'shoat')  
('shoat', 'geep')  
('crish', 'fab')  
('fab', 'crish')