我试图实现一个以字符串为参数的函数,字符串是否包含末尾的字母'ion'决定了输出。
例如,如果我输入字符串' accordiist ',那么我应该得到' accordiist '的输出,因为尽管它包含'ion',但它不在字符串的末尾。
但是,如果我输入字符串' congratulations ',我想把'ion'改成'e',因为'ion'在单词的末尾。
到目前为止,我有:
def wordSwap(x):
if x.count('ion') == 1:
return x.replace('ion','e')
else:
return x
,
>>> wordSwap('congratulation')
'congratulate'
这工作得很好,但是当我使用一个字符串,如:
>>> wordSwap('accordionist')
我'accordeist'
如何指定仅当'ion'位于字符串末尾时才将其更改为'e' ?
使用正则表达式:
>>> import re
>>> def wordswap(x):
... return re.sub("ion$", "e", x)
...
>>> wordswap("accordionist")
'accordionist'
>>> wordswap("congratulation")
'congratulate'
$
是"字符串结束"锚(它只匹配字符串的末尾)。
def wordSwap(x):
if x.endswith('ion'):
return x[-3:] + 'e'
else:
return x