尝试了不同数量的组合,没有一个可用。
基本上这是我拥有的数字串:
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(' ')
非常感谢任何帮助,谢谢!
答案 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())