在Python中用字符串标记而不是char标记拆分字符串

时间:2017-10-24 22:39:16

标签: python string split

我有一个字符串:

10-24-2017 10:09:18.218 - my_test - INFO - My Automation version 0.0.1

我希望用标记" - "分割字符串(注意前导和滞后的空格)。 IOW,上面的字符串应该拆分为:

{'10-24-2017 10:09:18.218', 'my_test', 'INFO', 'My Automation version 0.0.1'}

如果我只是按' - '拆分,那么日期字符串也将被拆分,我不想这样做。有人能指出我正确的方向吗?

由于

4 个答案:

答案 0 :(得分:2)

您可以改为使用re.split

In [3]: re.split(' - ', '123-456 - foo - bar')
Out[3]: ['123-456', 'foo', 'bar']

或者只是按整个字符串分开:

In [5]: '123-456 - foo - bar'.split(' - ')
Out[5]: ['123-456', 'foo', 'bar']

答案 1 :(得分:2)

'10-24-2017 10:09:18.218 - my_test - INFO - My Automation version 0.0.1'.split(' - ')

答案 2 :(得分:1)

您可以使用普通的分割功能。

test_str = "10-24-2017 10:09:18.218 - my_test - INFO - My Automation version 0.0.1"

print(test_str.split(' - '))

输出:

['10-24-2017 10:09:18.218', 'my_test', 'INFO', 'My Automation version 0.0.1']

答案 3 :(得分:1)

你可以试试这个:

import re
s = "10-24-2017 10:09:18.218 - my_test - INFO - My Automation version 0.0.1"
final_string = re.split("\s-\s", s)

输出:

['10-24-2017 10:09:18.218', 'my_test', 'INFO', 'My Automation version 0.0.1']