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

Python: Removing random whitespace from a string of numbers

尝试了不同数量的组合,none 有效。

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

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(' ')

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

这个

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() 将字符串拆分成单词,其中 returns 这个列表

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

然后我们将列表传递给 ' '.join,它使用 space 字符将列表的所有元素连接起来

默认情况下 Python 的 str.split 方法在空格处拆分。

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

" ".join(a.split())
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