协慌网

登录 贡献 社区

我如何修剪空白?

是否有一个 Python 函数可以从字符串中修剪空格(空格和制表符)?

示例: \t example string\texample string

答案

双方空白:

s = "  \t a string example\t  "
s = s.strip()

右侧的空白:

s = s.rstrip()

左侧的空白:

s = s.lstrip()

正如thedz指出的那样,你可以提供一个参数来将任意字符剥离到这些函数中,如下所示:

s = s.strip(' \t\n\r')

这将从字符串的左侧,右侧或两侧剥离任何空格, \t\n\r字符。

上面的示例仅从字符串的左侧和右侧删除字符串。如果您还要从字符串中间删除字符,请尝试re.sub

import re
print re.sub('[\s+]', '', s)

那应该打印出来:

astringexample

Python trim方法称为strip

str.strip() #trim
str.lstrip() #ltrim
str.rstrip() #rtrim

对于前导和尾随空格:

s = '   foo    \t   '
print s.strip() # prints "foo"

否则,正则表达式起作用:

import re
pat = re.compile(r'\s+')
s = '  \t  foo   \t   bar \t  '
print pat.sub('', s) # prints "foobar"