Python:从一串数字中删除随机空格

时间:2015-10-26 20:26:50

标签: python trim removing-whitespace

尝试了不同数量的组合,没有一个可用。

基本上这是我拥有的数字串:

20101002  100224   1    1044      45508  1001  1002  1003  1004  1005  1006

输出我之后:

20101002 100224 1 1044 45508 1001 1002 1003 1004 1005 1006

基本上,必须修剪最后一个数字之前和之后的所有空格。最重要的是,数字之间应该只有一个空格。

我应该补充说,我目前拥有的代码如下,只处理字符串开头和结尾的空格:

row = line.strip().split(' ')

非常感谢任何帮助,谢谢!

3 个答案:

答案 0 :(得分:5)

s = '20101002  100224   1    1044      45508  1001  1002  1003  1004  1005  1006'
new_s = ' '.join(s.split())
print(new_s)

产生

20101002 100224 1 1044 45508 1001 1002 1003 1004 1005 1006

基本上,涉及两个步骤:

首先我们将字符串拆分为s.split()的单词,然后返回此列表

['20101002', '100224', '1', '1044', '45508', '1001', '1002', '1003', '1004', '1005', '1006']

然后我们将列表传递给' '.join,它使用它们之间的空格字符连接列表的所有元素

答案 1 :(得分:3)

import re
text = "20101002  100224   1    1044      45508  1001  1002  1003  1004  1005  1006"
re.sub(r"\s+", " ", text)
#=> 20101002 100224 1 1044 45508 1001 1002 1003 1004 1005 1006

答案 2 :(得分:0)

默认情况下,Python的str.split方法在空格上分割。

a = "20101002  100224   1    1044      45508  1001  1002  1003  1004  1005  1006"

" ".join(a.split())