如何去除空白字符?
有没有一个Python函数可以去掉字符串中的空格和制表符(也就是Tab)呢?
比如说,如果输入是 " \t example string\t "
,那么处理后应该变成 "example string"
。
15 个回答
26
对于字符串开头和结尾的空格:
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"
85
在Python中,去掉字符串两端空白的功能叫做trim,而这个功能的具体方法叫做strip
:
str.strip() # trim
str.lstrip() # left trim
str.rstrip() # right trim
1777
如果你想去掉字符串两边的空白,可以使用 str.strip
:
s = " \t a string example\t "
s = s.strip()
如果只想去掉右边的空白,可以用 str.rstrip
:
s = s.rstrip()
如果只想去掉左边的空白,可以用 str.lstrip
:
s = s.lstrip()
你还可以给这些函数传递参数,以去掉其他任意字符,像这样:
s = s.strip(' \t\n\r')
这样做会去掉字符串两边的空格、\t
(制表符)、\n
(换行符)或 \r
(回车符)。
上面的例子只去掉了字符串左右两边的字符。如果你想去掉字符串中间的字符,可以试试 re.sub
:
import re
print(re.sub('[\s+]', '', s))
这样应该会输出:
astringexample