思路参考 112-模拟字符串lstrip用法
whitesps = ' \r\n\v\f\t'
def rmrsps(astr):
for i in range(-1, -len(astr), -1): # 自右向左,下示为负
if astr[i] not in whitesps:
return astr[:i + 1] # 结束下标对应的字符不包含,所以加1
else:
return ''
if __name__ == '__main__':
print(rmrsps(''))
print(rmrsps(' \thello '))
高山11指出使用负数索引的问题(详见评论)以及解决办法。如果使用正数索引就没有问题了,方法如下:
whitesps = ' \r\n\v\f\t'
def rmrsps(astr):
for i in range(len(astr) - 1, -1, -1):
if astr[i] not in whitesps:
return astr[:i + 1] # 结束下标对应的字符不包含,所以加1
else:
return ''
if __name__ == '__main__':
print(rmrsps(''))
print(rmrsps(' \thello '))