分割复杂的字符串行

时间:2019-10-21 01:34:04

标签: python python-3.x

我需要为我划分一个非常复杂的界线。我要拆分的行如下

2019.10.20-22.01.33: '10.11.111.25 9999995555884411:TechnoBeceT(69)' logged in

我怎么能这样分割

['2019.10.20-22.01.33', '10.11.111.25', '9999995555884411', 'logged in']

我不需要 TechnoBeceT(69) 此区域

2 个答案:

答案 0 :(得分:1)

使用正则表达式

import re

p = re.compile(r'(([\d\.-]+)(?::|\s)|(logged in))')

s = "2019.10.20-22.01.33: '10.11.111.25 9999995555884411:TechnoBeceT(69)' logged in"

q = [x[1] or x[2] for x in p.findall(s)]

print(q)

输出

['2019.10.20-22.01.33', '10.11.111.25', '9999995555884411', 'logged in']

答案 1 :(得分:0)

看起来您只需要用'',':'和'TechnoBeceT(69)'进行拆分即可作为适当的正则表达式。这个现有问题可能是您需要的:Split string with multiple delimiters in Python