如何指定字符串方法count



我试图实现一个以字符串为参数的函数,字符串是否包含末尾的字母'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

最新更新