擅长:python、mysql、java
<p>使用正则表达式(<code>re</code>模块):</p>
<pre><code>import re
txt1 = "eametetuk"
txt2 = "eseapah"
evowel = ("e","é")
avowel = ("a","á")
evowels = "|".join(evowel)
avowels = "|".join(avowel)
out1 = re.sub(r'('+evowels+')('+avowels+')',r'\1y\2',txt1)
out2 = re.sub(r'('+evowels+')('+avowels+')',r'\1y\2',txt2)
print(out1) # eyametetuk
print(out2) # eseyapah
</code></pre>
<p>该方法适用于任何evowel-avowel组合,例如:</p>
<pre><code>txt3 = "xéay"
out3 = re.sub(r'('+evowels+')('+avowels+')',r'\1y\2',txt3)
print(out3) # xéyay
</code></pre>
<p>等等。你知道吗</p>
<p>说明:我使用了<code>|</code>,它在正则表达式模式中表示逻辑或。然后我创建了两个组的模式-用括号表示,然后在<code>re.sub</code>的第二个参数中,我写下我想要1stgroup,然后是字母y,然后是第二个group。你知道吗</p>
<p>请注意<code>re.sub</code>的组索引从1开始,而不是从0开始,还请注意我使用了原始字符串,这意味着我不必转义<code>\</code>以指向第一组和第二组。你知道吗</p>