替换字符串末尾的字符?

时间:2014-10-09 08:12:18

标签: python

我在Python工作,我有一个字符串,如"world's" and "states.'",我想检查这个单词的最后一个字母是否是一个字母,如果没有,删除它。我有以下代码:

if word[-1].isalpha():
    print word
else:
    print word[:-1]

但我也希望能够删除两个(或更多)非字母字符。我知道我需要某种循环。

3 个答案:

答案 0 :(得分:4)

尝试循环:

def rstripNotalpha(s):
    while not s[-1].isalpha():
        s = s[:-1]
    return s

s = "'foo.-,'"
print(rstripNotalpha(s))

输出:

"'foo"

答案 1 :(得分:0)

字符串' rstrip函数可选择删除要删除的字符列表。

rstrip(...)
    S.rstrip([chars]) -> string or unicode

    Return a copy of the string S with trailing whitespace removed.
    If chars is given and not None, remove characters in chars instead.
    If chars is unicode, S will be converted to unicode before stripping

答案 2 :(得分:0)

或者是一个好的旧正则表达式:

import re
p = re.compile('(.*\w)([^\w]*)')
m = p.match(word)
print m.group(1)