本节书摘来自异步社区《Python Cookbook(第2版)中文版》一书中的第1章,第1.5节,作者[美]Alex Martelli , Anna Martelli Ravenscrof , David Ascher ,高铁军 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.5 去除字符串两端的空格
任务
获得一个开头和末尾都没有多余空格的字符串。
解决方案
字符串对象的lstrip、rstrip和strip方法正是为这种任务而设计的。这几个方法都不需要参数,它们会直接返回一个删除了开头、末尾或者两端的空格的原字符串的拷贝:
>>> x = ' hej '
>>> print '|', x.lstrip( ), '|', x.rstrip( ), '|', x.strip( ), '|'
| hej | hej | hej |
讨论
有时候需要给字符串添加一些空格,让其符合预先规定的固定宽度,以完成左右对齐或居中对齐(如前面1.4节所介绍的),但有时也需要从两端移除所有的空格(空白、制表符、换行符等)。因为这种需求是如此常见,Python的字符串对象给出了3个方法来提供这种功能。也可以选择去除其他字符,只需提供一个字符串作为这3种方法的参数即可:
>>> x = 'xyxxyy hejyx yyx'
>>> print '|'+x.strip('xy')+'|'
| hejyx |
注意,上面例子中最后获得的字符串的开头和结尾的空格都被保留下来,因为“yx”后面接着的是一些空格:只有开头和结尾的“x”和“y”被真正移除了。