113-模拟字符串rstrip用法

思路参考 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  '))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。