擅长:python、mysql、java
<p>我相信这已经接近你想要的了。抱歉没有正则表达式。你知道吗</p>
<pre><code>def format_str(test_str):
res = []
for x in test_str:
parts = x.split(" ")
thing = []
for part in parts:
if len(thing) != 0 and '.' not in part and ':' not in part:
res.append(thing[:1] + [None]*(4-len(thing)) + thing[1:])
thing = [part]
else:
thing.append(part)
if len(thing) != 0:
res.append(thing[:1] + [None]*(4-len(thing)) + thing[1:])
return res
test_str = ['25',
'24 22.10',
'16 59.35 1:02.44',
'18 52.78 59.45 1:01.22 24 22.10']
results = format_str(test_str)
print(results)
</code></pre>
<p>结果是:</p>
<pre><code>[['25', None, None, None], ['24', None, None, '22.10'], ['16', None, '59.35', '1:02.44'], ['18', '52.78', '59.45', '1:01.22'], ['24', None, None, '22.10']]
</code></pre>
<p>我没有在时报上做任何格式化,所以52.78没有显示为0:52.78,但我打赌你可以做到。如果没有,请留下评论,我也会为此编辑一个解决方案</p>