Skip to main content
 首页 » 编程设计

没有公共(public)分隔符的Python字符串拆分

2025年05月04日13myhome

我是 Python 的新手。我使用的外部模拟软件给我的报告包含以下格式的数据:

1    29 Jan 2013 07:33:19.273    29 Jan 2013 09:58:10.460          8691.186 

我希望将上述数据拆分为四个字符串;

'1', '29 Jan 2013 07:33:19.273', '29 Jan 2013 09:58:10.460', '8691.186' 

我不能使用 str.split,因为它将日期拆分成多个字符串。在 1 和第一个日期之间以及第一个和第二个日期之间似乎有四个空格。我不知道这是四个空格还是制表符。

使用 '\t' 作为分隔符并没有多大作用。如果我指定 ' '(4 个空格)作为分隔符,我会得到前三个字符串。然后我还在最后一个字符串中得到一个空字符串和前导空格。第二个日期和数字之间有 10 个空格。

任何关于如何处理这个问题的建议都会很有帮助!

谢谢!

请您参考如下方法:

您可以使用一个简单的正则表达式拆分多个空格:

import re 
 
multispace = re.compile(r'\s{2,}')  # 2 or more whitespace characters 
fields = multispace.split(inputline) 

演示:

>>> import re 
>>> multispace = re.compile(r'\s{2,}')  # 2 or more whitespace characters 
>>> multispace.split('1    29 Jan 2013 07:33:19.273    29 Jan 2013 09:58:10.460          8691.186') 
['1', '29 Jan 2013 07:33:19.273', '29 Jan 2013 09:58:10.460', '8691.186']