如果一个字符串以下列字符的元音结尾?

时间:2014-11-11 19:04:58

标签: python string

如果某个字符串没有以sxchsh结尾,或者如果它不以元音结尾,那么我需要添加一个'。这适用于告诉和吃,但不适合表演。我无法弄清楚原因。

这是我写的代码:

if not re.match(".*(s|x|ch|sh)",s):
    if re.match(".*(a|e|i|o|u)",s):
        s = s+'s'
        return s
else:

    return s

2 个答案:

答案 0 :(得分:3)

请改用endswith。它需要单个字符串或字符串元组,如果字符串具有任何给定参数作为后缀,则返回True

cons = ('s', 'x', 'ch', 'sh')
vowels = ('a', 'e', 'i', 'o', 'u')
if not s.endswith(cons + vowels):
    s += 's'
return s

答案 1 :(得分:2)

如果您只想匹配字符串的结尾,那么在正则表达式的末尾需要$