2013-05-15 52 views
2

我有一个是打印出的外壳下面的字符串Python字符串:从字符串中删除前导空格和换行符的吨

'\\n    autonomy\\n    . . sweeping\\n    \\n   ' 

如何删除所有这些换行字符和空格一个或多个?

我希望字符串是'自主权'。 。扫“

我试过剥离,并取代无济于事。

回答

1
fixed_text = " ".join(big_Text_block.split()) 

这首打破它分开放在任何空白(包括换行)第二把它重新走到一起使用单一空间作为“胶水”

+1

由于'\\ n'不是python换行符,因此上述操作失败。看到我的答案在@sixglazed原始字符串适用。 – Paddy3118

+0

我不知道这可能只是repr,他很清楚地说换行符....'print repr(“\ ntest \ n”)' –

1

如何:

>>> txt = '\\n    autonomy\\n    . . sweeping\\n    \\n   ' 
>>> newtxt = ' '.join(txt.replace('\\n', ' ').split()) 
>>> print (newtxt) 
autonomy . . sweeping 
>>> newtxt 
'autonomy . . sweeping' 
>>> 
+1

im不知道他的字符串中有'\\ n' ...我怀疑是简单的repr ...但我可能是错的,从OP –

+0

不清楚它不明确没有。 (尽管如果他们是换行符,答案会起作用)。 – Paddy3118

1

你可以使用正则表达式:

>>> s = '\n    autonomy\n    . . sweeping\n    \n   ' 
>>> import re 
>>> re.sub(r'\s\s+', ' ', s).strip() 
'autonomy . . sweeping' 

该表达式替换一个空白字符后跟一个或多个whitesp王牌角色只有一个空间。