2017-04-11 54 views
2

只是一个(希望)简单的问题。
做了一些与Python搞乱,我只是想知道我如何可以去除我的所有空白字符串的左侧和右侧,除了标签,或者更确切地说\t删除所有空格不包含制表符

我明白我可以循环递归替换,但这很麻烦。 Theres得到了一个更简单的方法。

基本上只是删除\n, ,\r, ...等除了\t
干杯。

回答

1

使用re.sub

import re 

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

简短而亲切!我唯一的问题是,在正则表达式中的空白似乎也拿起我的选项卡,并确认**他们的选项卡,并没有转换为四个空格... – finnrayment

+0

没关系,它是我的结局。谢谢! – finnrayment

+1

该解决方案还将删除字符串内部的空格\ n和\ r,而不仅仅是从左侧和右侧。 – VMRuiz

4

您还可以使用:

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

这将剥夺任何空间,\ n或从左侧,右侧\ r字符,或者字符串的两边。

参考:How to trim whitespace (including tabs)?

+0

可爱!感谢那。没有意识到'strip()'函数引用了args。 – finnrayment

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. 

参见:string.strip

+0

也会去掉'\ t'并且不会去掉'\ b'作为'strip()'会去掉所有包含制表符的空白字符。 –

+0

谢谢,所以,我会编辑我的答案! – nick

相关问题