使用':'分隔符(python)拆分字符串

时间:2016-03-18 20:44:04

标签: python string list split

我是Python的新手。

我正在尝试使用':'分隔符:

按如下方式拆分字符串

示例:

my_string = a/bc/rsd: Mar 4 10:13:23.78 : asgehaa:10/251[162]:%bavst{142}
new_list = my_string.split(":") 

这应该给出一个这样的列表:

new_list = ['a/bc/rsd','Mar 4 10:13:23.78','asgehaa','10/251[162]','%bavst{142}']

相反,它也会分割日期,结果列表如下所示:

new_list = ['a/bc/rsd','Mar 4 10','13','23.78','asgehaa','10/251[162]','%bavst{142}']

我不想分开日期。我可以知道实现这个的解决方法吗?

1 个答案:

答案 0 :(得分:4)

要遵循这些评论,目前还不清楚你是如何让Python知道在哪里使用:作为分隔符以及在哪里保留它。一个选项,取决于您拥有的实际输入数据,可能是使用re.split()将字符串拆分为:,其中非数字前置字符< / EM>:

>>> re.split(r"(?<!\d):", my_string)
['a/bc/rsd', ' Mar 4 10:13:23.78 ', ' asgehaa', '10/251[162]', '%bavst{142}']

其中(?<!\d)negative lookbehind - 寻找前一个不是数字的字符。