我在Python工作,我有一个字符串,如"world's" and "states.'"
,我想检查这个单词的最后一个字母是否是一个字母,如果没有,删除它。我有以下代码:
if word[-1].isalpha():
print word
else:
print word[:-1]
但我也希望能够删除两个(或更多)非字母字符。我知道我需要某种循环。
答案 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)