Python字符串拆分没有通用分隔符

1 python regex string split

我对Python很新.我使用的外部模拟软件为我提供了包含以下格式数据的报告:

1    29 Jan 2013 07:33:19.273    29 Jan 2013 09:58:10.460          8691.186
Run Code Online (Sandbox Code Playgroud)

我希望将上述数据分成四个字符串,即;

'1', '29 Jan 2013 07:33:19.273', '29 Jan 2013 09:58:10.460', '8691.186'
Run Code Online (Sandbox Code Playgroud)

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

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

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

谢谢!

Mar*_*ers 9

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

import re

multispace = re.compile(r'\s{2,}')  # 2 or more whitespace characters
fields = multispace.split(inputline)
Run Code Online (Sandbox Code Playgroud)

示范:

>>> 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']
Run Code Online (Sandbox Code Playgroud)