我正在尝试实现一个将字符串作为参数的函数,字符串末尾是否包含字母“ion”决定了输出。
例如,如果我输入字符串 'accordionist',我应该得到 'accordionist' 的输出,因为虽然它包含 'ion',但它不在字符串的末尾。
但是,如果我输入字符串“congratulation”,我想将“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'
$ 是“字符串结尾” anchor (它只匹配字符串的结尾)。
