2011-09-07 233 views
1

全部,删除随机空白

我有一些索引文本,我想以更统一的方式进行格式化。例如:

I live in Virginia and it is raining  today 

我想,要打印出

I live in Virginia and it is raining today 

我写我的Python应用程序,所以如果有人知道如何做这种字符串操作,这将不胜感激。

亚当

+0

的正则表达式来修整单词之间有空格,只是在这个1:可能重复[裁剪空白从字符串的中间(http://stackoverflow.com/questions/216870 /修剪空白从 - 中间的字符串)。如果你不知道Python的're'模块,这是一个答案,显示它的用途:http://stackoverflow.com/questions/216870/trim-whitespace-from-middle-of-string/1250923#1250923 – birryree

+0

' re.sub(r'[\ t] {2,}','',str)'。使用'\ s'时要小心,因为它包含新行和回车符。 – NullUserException

回答

0

正则表达式都在这里工作,但可能矫枉过正。没有任何进口一号线将照顾它:

sentence = 'I live in Virginia and it is raining  today' 
' '.join([segment for segment in sentence.split()]) 
+4

为什么不只是'''.join(sentence.split())'? –

+0

是的,这是不必要的复杂,我猜想,从原始列表构造相同的列表,并且''''和'.join..'之间有一个空格 – steabert

9

一个非常简单的方法:

s = "I live in Virginia and it is raining  today" 
words = s.split() 
print ' '.join(words) 
+0

这工作就像一个魅力!非常感谢... – aeupinhere

3

您可以使用正则表达式来完成这项

import re 
s = 'I live in Virginia and it is raining  today' 
print re.sub(r'\s+', ' ', s) 
+0

由于NullUserException指出 - r'[\ t] {2,}'将被用来替换空格或制表符。我只是在我的回答中做了一般性的空白替换。 – ScArcher2

+0

好的解决方案谢谢 – soField