我是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}']
我不想分开日期。我可以知道实现这个的解决方法吗?
答案 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 - 寻找前一个不是数字的字符。