除了制表符以外,去除所有空格

3

希望我的问题(希望)非常简单。
我在使用Python做一些混乱的事情,我想知道如何去除字符串左侧和右侧的所有空格,但不包括制表符,或者说\t

我知道我可能可以通过递归循环使用replace来解决,但那很凌乱。肯定有更简单的方法。

基本上只需删除\n, ,\r,等,但不包括\t
干杯。

3个回答

3
您也可以使用以下方法:

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

这将从字符串的左侧,右侧或两侧剥离任何空格、\n或\r字符。
参考:如何修剪空格(包括制表符)?

太好了!谢谢你。我没意识到 strip() 函数可以带参数。 - user5549921

0

使用 re.sub

import re

string = 'Hello\nThis is   a sample\tstring\n\r!'
print(re.sub('[ \n\r]', '', string))

简短明了!我的唯一问题是,正则表达式中的空格似乎也捕获了我的制表符,而且我确信它们是制表符而不是转换为四个空格... - user5549921
1
此解决方案还将从字符串内部删除空格、\n和\r,而不仅仅是左右两侧。 - VMRuiz

0
s.strip(' ').strip('\n').strip('\r')#this will return a copy of string with '\r' and '\b' removed from left side and right side. 

See:string.strip


将会去除\t,但不会去除\b,因为strip()会去除所有的空白字符,包括制表符。 - Steve Barnes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接